рд╢реБрдн рджреЛрдкрд╣рд░ рдореЗрд░рд╛ рдирд╛рдо рджрд┐рдорд┐рддреНрд░реА рд╣реИ рдФрд░ рдореИрдВ рдУрдЯрд╕ рдореЗрдВ рдореВрд▓ рдкрд╛рдареНрдпрдХреНрд░рдо "рдПрдВрдбреНрд░реЙрдЗрдб рдбреЗрд╡рд▓рдкрд░" рдХрд╛ рд╢рд┐рдХреНрд╖рдХ рд╣реВрдВред рдЖрдЬ рдореИрдВрдиреЗ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рдореБрдЭреЗ рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдХреЗ рдХрдИ рдкрд╛рдардХреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

SharedPreferences рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдмрд╣реБрдд рддреЗрдЬрд╝ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рд╕рд╛рдЗрдмрд░ рдЕрдкрд░рд╛рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП SharedPreferences рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдХреЛ рджреЗрдЦрдирд╛ рднреА рдЖрд╕рд╛рди рд╣реИ ... рдЗрд╕рд▓рд┐рдП рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ рдХрд┐ рдЖрдкрдиреЗ рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рд░рдЦрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдпрд╣ рд╕реЛрдЪрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдбреЗрдЯрд╛ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХреИрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдЫреЛрдЯреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП, рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдВрдЬрди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд╕рд╣реА рдирд╣реАрдВ рдард╣рд░рд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ SqlCipher, рд╣рдорд╛рд░реА рдХреНрд╖рдорддрд╛рдПрдВ рд╕реАрдорд┐рдд рдереАрдВ:
- рдореВрд▓ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╡рд┐рдзрд┐рдпрд╛рдБ (рдпрджрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ)
- рд░реЗрдбреА-рдореЗрдб рд╕рдорд╛рдзрд╛рди рдЬреИрд╕реЗ рд╕рд┐рдХреНрдпреЛрд░-рдкреНрд░рд╛рдпреЛрд░рд┐рдЯреАрдЬ, рдЕрдиреНрдп рд╕рд┐рдХреНрдпреЛрд░-рдкреНрд░рд╛рдпреЛрд░рд┐рдЯреАрдЬ, рдЕрд░реНрдорд╛рдбрд┐рд▓реЛ рдЖрджрд┐ред
- рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд╣рд░ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЬреАрдм Keystore Android рдЬреАрд╡рдирдЪрдХреНрд░ рдореБрджреНрджреЛрдВ рд╕реЗ рд▓рдбрд╝рдирд╛
рдпрд╣ рдкрд╣рд▓реЗ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд╣реА рдФрд░
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдорд╛рдзрд╛рди рд╣реИ ред
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрднреА рднреА рдЕрд▓реНрдлрд╝рд╛, рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрдм рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред
EncryptedSaredPreferences рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ (рдпрд╛ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ), рдЖрдк рд╕рднреА рдХреЗ рд▓рд┐рдП
рдиреНрдпреВрдирддрдо-sdk 23+ рдХреЗ рд╕рд╛рде ред
рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ:
рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдбрд╢реЗрдпрд░рд┐рдВрдЧ рдЙрджрд╛рд╣рд░рдг
рдиреНрдпреВрдирддрдо рдПрд╕рдбреАрдХреЗ
рдЖрдЬ 23 (Android 6.0)
minSdkVersion 23
рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝реЗрдВ
implementation "androidx.security:security-crypto:1.0.0-alpha02"
рдкреНрд░рд╛рд░рдВрднрд┐рдХ / рдЦреБрд▓рд╛
рдмрд╕ рдПрдВрдбреНрд░реЙрдЗрдб рдХреАрд╕реНрдЯреЙрд░ рд╕реЗ рдорд╛рд╕реНрдЯрд░ рдХреБрдВрдЬреА рдмрдирд╛рдПрдВ рдпрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдВ / рдЦреЛрд▓рдирд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
рд░рд┐рдХреЙрд░реНрдб рд╕рд╣реЗрдЬреЗрдВ
рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рд╣рдореЗрд╢рд╛ SharedPreferences рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдерд╛:
рдиреЛрдЯреНрд╕ рдкрдврд╝реЗрдВ
рдбреЗрдЯрд╛ рдХреЛ рдкрдврд╝реЗрдВ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рд╣рдореЗрд╢рд╛ SharedPreferences рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдерд╛:
рдХреНрдпрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╣реИрдВ?
рд╣рд╛рдБ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдбред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдореИрдВрдиреЗ
akaita
рдореЗрдВ
akaita
рдореВрд▓реНрдп
SharedPreferences
ред рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдлрд╝рд╛рдЗрд▓ рдХреА рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map> <string name="DATA">akaita</string> </map>
рдЕрдЧрд░ рдореИрдВ
EncryptedSharedPreferences
akaita
рд▓рд┐рдП
akaita
рдорд╛рди
akaita
рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдХреБрдЫ рдЕрд▓рдЧ рдорд┐рд▓реЗрдЧрд╛:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map> <string name="AVz2qCVxm1KudCCJKYuxuoaAXoPeWKjG0w==">ASnO9uni11t3m9sNgDJbiYllL/tE+i99TYKfQ0h8XV6AUN0O3rBxBsMmcpw2DCY=</string> <string name="__androidx_security_crypto_encrypted_prefs_key_keyset__">12a901eb372af4775b09f5b51d20d49428931c5d8e0b17dd103d2169c1879b8b13958274d7e25d3cc052f301461495fd40b70806ae244f456726802460318bdf19dce444e7a60f20c903c5a57140ea8e90a19a1b48559961d145a50000d1c0e22ca918b02ea0cc34e433900f44c00e9c791ecb678f26d293c0226d6c2a9e25e610616ec34241b06410481427a850eeedf85ee4c725d5dbd715b5a8d0e017be9a568a9f960989271d14d2d0531a4408a5d0dae705123c0a30747970652e676f6f676c65617069732e636f6d2f676f6f676c652e63727970746f2e74696e6b2e4165735369764b6579100118a5d0dae7052001</string> <string name="__androidx_security_crypto_encrypted_prefs_value_keyset__">12880189e734bbbf9cfa3bc15b5e53ea8df03341269cf97112a60a1f6482732dd33248b3f821397fb04ef3372ff54336e9045a0b0c0fb7afdf475dbc98a1107d09de66afcc5ad063e5e5b59a7d616e14834e19769bc84de7e5c8716a811814a6cd7a6d72a1c64ce4317f2f482181c437b70f010219ca6407a98bac18f1101c02fd8e2c4a9009ad2a1ebbdc1a4408e9edbbce02123c0a30747970652e676f6f676c65617069732e636f6d2f676f6f676c652e63727970746f2e74696e6b2e41657347636d4b6579100118e9edbbce022001</string> </map>
"> 12a901eb372af4775b09f5b51d20d49428931c5d8e0b17dd103d2169c1879b8b13958274d7e25d3cc052f301461495fd40b70806ae244f456726802460318bdf19dce444e7a60f20c903c5a57140ea8e90a19a1b48559961d145a50000d1c0e22ca918b02ea0cc34e433900f44c00e9c791ecb678f26d293c0226d6c2a9e25e610616ec34241b06410481427a850eeedf85ee4c725d5dbd715b5a8d0e017be9a568a9f960989271d14d2d0531a4408a5d0dae705123c0a30747970652e676f6f676c65617069732e636f6d2f676f6f676c652e63727970746f2e74696e6b2e4165735369764b6579100118a5d0dae7052001 </ рд╕реНрдЯреНрд░рд┐рдВрдЧ> <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map> <string name="AVz2qCVxm1KudCCJKYuxuoaAXoPeWKjG0w==">ASnO9uni11t3m9sNgDJbiYllL/tE+i99TYKfQ0h8XV6AUN0O3rBxBsMmcpw2DCY=</string> <string name="__androidx_security_crypto_encrypted_prefs_key_keyset__">12a901eb372af4775b09f5b51d20d49428931c5d8e0b17dd103d2169c1879b8b13958274d7e25d3cc052f301461495fd40b70806ae244f456726802460318bdf19dce444e7a60f20c903c5a57140ea8e90a19a1b48559961d145a50000d1c0e22ca918b02ea0cc34e433900f44c00e9c791ecb678f26d293c0226d6c2a9e25e610616ec34241b06410481427a850eeedf85ee4c725d5dbd715b5a8d0e017be9a568a9f960989271d14d2d0531a4408a5d0dae705123c0a30747970652e676f6f676c65617069732e636f6d2f676f6f676c652e63727970746f2e74696e6b2e4165735369764b6579100118a5d0dae7052001</string> <string name="__androidx_security_crypto_encrypted_prefs_value_keyset__">12880189e734bbbf9cfa3bc15b5e53ea8df03341269cf97112a60a1f6482732dd33248b3f821397fb04ef3372ff54336e9045a0b0c0fb7afdf475dbc98a1107d09de66afcc5ad063e5e5b59a7d616e14834e19769bc84de7e5c8716a811814a6cd7a6d72a1c64ce4317f2f482181c437b70f010219ca6407a98bac18f1101c02fd8e2c4a9009ad2a1ebbdc1a4408e9edbbce02123c0a30747970652e676f6f676c65617069732e636f6d2f676f6f676c652e63727970746f2e74696e6b2e41657347636d4b6579100118e9edbbce022001</string> </map>
"> 12880189e734bbbf9cfa3bc15b5e53ea8df03341269cf97112a60a1f6482732dd33248b3f821397fb04ef3372ff54336e9045a0b0c0fb7afdf475dbc98a1107d09de66afcc5ad063e5e5b59a7d616e14834e19769bc84de7e5c8716a811814a6cd7a6d72a1c64ce4317f2f482181c437b70f010219ca6407a98bac18f1101c02fd8e2c4a9009ad2a1ebbdc1a4408e9edbbce02123c0a30747970652e676f6f676c65617069732e636f6d2f676f6f676c652e63727970746f2e74696e6b2e41657347636d4b6579100118e9edbbce022001 </ рд╕реНрдЯреНрд░рд┐рдВрдЧ> <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map> <string name="AVz2qCVxm1KudCCJKYuxuoaAXoPeWKjG0w==">ASnO9uni11t3m9sNgDJbiYllL/tE+i99TYKfQ0h8XV6AUN0O3rBxBsMmcpw2DCY=</string> <string name="__androidx_security_crypto_encrypted_prefs_key_keyset__">12a901eb372af4775b09f5b51d20d49428931c5d8e0b17dd103d2169c1879b8b13958274d7e25d3cc052f301461495fd40b70806ae244f456726802460318bdf19dce444e7a60f20c903c5a57140ea8e90a19a1b48559961d145a50000d1c0e22ca918b02ea0cc34e433900f44c00e9c791ecb678f26d293c0226d6c2a9e25e610616ec34241b06410481427a850eeedf85ee4c725d5dbd715b5a8d0e017be9a568a9f960989271d14d2d0531a4408a5d0dae705123c0a30747970652e676f6f676c65617069732e636f6d2f676f6f676c652e63727970746f2e74696e6b2e4165735369764b6579100118a5d0dae7052001</string> <string name="__androidx_security_crypto_encrypted_prefs_value_keyset__">12880189e734bbbf9cfa3bc15b5e53ea8df03341269cf97112a60a1f6482732dd33248b3f821397fb04ef3372ff54336e9045a0b0c0fb7afdf475dbc98a1107d09de66afcc5ad063e5e5b59a7d616e14834e19769bc84de7e5c8716a811814a6cd7a6d72a1c64ce4317f2f482181c437b70f010219ca6407a98bac18f1101c02fd8e2c4a9009ad2a1ebbdc1a4408e9edbbce02123c0a30747970652e676f6f676c65617069732e636f6d2f676f6f676c652e63727970746f2e74696e6b2e41657347636d4b6579100118e9edbbce022001</string> </map>
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдлрд╝рд╛рдЗрд▓ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд╕рд╣реЗрдЬреЗ рдЬрд╛рдиреЗ рдкрд░ рд╣рд░ рдмрд╛рд░ рдмрджрд▓ рдЬрд╛рдПрдЧреА, рдЬрд┐рд╕рд╕реЗ рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдмрдбрд╝рд╛ рдЪреЗрддрд╛рд╡рдиреА: рдкреНрд░рджрд░реНрд╢рди
SharedPreferences рдФрд░ EncryptedSodedPreferences рдХреЗ рдмреАрдЪ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рджрд░реНрд╢рди рдЕрдВрддрд░ рд╣реИред
рдЖрдк рдореЗрд░реЗ рд╕реИрдВрдкрд▓ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╛ рдкреНрд▓реЗ рд╕реНрдЯреЛрд░ рд╕реЗ рдХреЗрд╡рд▓ рд╕реИрдВрдкрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдХреЗ рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЦреБрдж рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдХрдИ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддреЗ рд╣реИрдВ:
рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдбрд╢реЗрдпрд░рд┐рдВрдЧрдкрд╛рдЗрдкрд░реНрд╕ рдмрдирд╛рдо рд╢реЗрдпрд░реНрдбрдкреНрд░рд┐рдлрд░реЗрдВрд╕
рдЧреНрд░рд╛рдл "рдПрдирдХреНрд░рд┐рдкреНрдЯреЗрдбрд╢реЗрдпрд░рд┐рдВрдЧ рд╕рдВрджрд░реНрдн рдмрдирд╛рдо рд╕рд╛рдЭрд╛рдХрд░рдг"рдирд┐рд╖реНрдХрд░реНрд╖
EncryptedSaredPreferences рдПрдВрдбреНрд░реЙрдЗрдб 6.0 рдФрд░ рдЙрдЪреНрдЪрддрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдФрд░ рдмрд╣реБрдд рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рд╣реИред
рдЗрд╕рдХреЗ рджреЛ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рд╣реИрдВ:
- рд╣рдореЗрдВ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рднреА рдПрдирдХреЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╡рд╣ рд╕рд┐рд░реНрдл рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдВрдбреНрд░реЙрдЗрдб рдХреАрд╕реНрдЯреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд▓реЙрдХ рд╕реНрдХреНрд░реАрди рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред EncryptedSaringPreferences рд╕реНрдХреНрд░реАрди рд▓реЙрдХ рдХреЗ рдмрд┐рдирд╛ рд╣реА рдХрд╛рдо рдХрд░реЗрдЧрд╛
рдпрд╣ SharedPreferences рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рдкреВрд░реНрдг рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реИред рдмрд╕ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ EncryptedSaredPreferences рдХреЛ рд╢реБрд░реВ / рдЦреЛрд▓рдирд╛ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░рддрд┐рдХреВрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рдирд┐рд░реНрдгрдп рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд░рд╣реЗрдЧрд╛ред рдореИрдВ рдХрд┐рд╕реА рднреА рдЙрдкрдпреБрдХреНрдд рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдЕрдм рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓реЛрдЧ рдЗрд╕рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдФрд░ рднреА рдХрдо рдЪрд┐рдВрддрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ :)
рдЖрд╡реЗрджрди рдЙрджрд╛рд╣рд░рдг
рдмрд╕ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдпрд╛ рд╣реИред рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдпрд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ рдФрд░ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ!
https://github.com/akaita/encryptedsharedpreferences-exampleрдпрджрд┐ рдЖрдкрдХреЛ рд▓реЗрдЦ рдЙрдкрдпреЛрдЧреА рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдПрдХ рдкреНрд▓рд╕ рд▓рдЧрд╛рдПрдВ рдФрд░ рдореБрдЭреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдХрд┐рд╕реА рднреА рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред