EncryptedSharedPreferences
An implementation of SharedPreferences that encrypts keys and values.
1. Initialize
// build.gradle in Module
implementation "androidx.security:security-crypto:1.1.0-alpha03"
2. Declaration
val encryptedSharedPreferences = EncryptedSharedPreferences.create(
context,
"Your EncryptedSharedPreferences's Name"
MasterKey.Builder(context).setKeyScheme(MasterKey.KeyScheme.AES256_GCM).build(),
EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
)
3. Read from EncryptedSharedPreferences
return |
method |
Map<String, ?> |
getAll() |
boolean |
getBoolean(String key, boolean defValue) |
float |
getFloat(String key, float defValue) |
int |
getInt(String key, int defValue) |
long |
getLong(String key, long defValue) |
String |
getString(String key, String defValue) |
Set |
getStringSet(String key, Set defValues) |
4. SharedPreferences.Editor
encryptedSharedPreferences.edit()
- All changes you make in an editor are batched.
- And not copied back to the original SharedPreferences until you call commit() or apply()
5. Write to EncryptedSharedPreferences
SharedPreferences.Editor |
putBoolean(String key, boolean value) |
putFloat(String key, float value) |
putInt(String key, int value) |
putLong(String key, long value) |
putString(String key, String value) |
putStringSet(String key, Set values) |
6. Delete from EncryptedSharedPreferences
SharedPreferences.Editor |
clear() |
remove(String key) |
7. Encrypted value
Reference