EncryptedSharedPreferences
class EncryptedSharedPreferences : SharedPreferences
kotlin.Any | |
↳ | androidx.security.crypto.EncryptedSharedPreferences |
An implementation of SharedPreferences
that encrypts keys and values.
String masterKeyAlias = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC); SharedPreferences sharedPreferences = EncryptedSharedPreferences.create( "secret_shared_prefs", masterKeyAlias, context, EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV, EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM ); // use the shared preferences and editor as you normally would SharedPreferences.Editor editor = sharedPreferences.edit();
Summary
Nested classes | |
---|---|
The encryption scheme to encrypt keys. |
|
The encryption scheme to encrypt values. |
Public methods | |
---|---|
Boolean | |
static SharedPreferences |
create(@NonNull : Context, @NonNull : String, @NonNull : MasterKey, @NonNull : EncryptedSharedPreferences.PrefKeyEncryptionScheme, @NonNull : EncryptedSharedPreferences.PrefValueEncryptionScheme) Opens an instance of encrypted SharedPreferences |
static SharedPreferences |
create(@NonNull : String, @NonNull : String, @NonNull : Context, @NonNull : EncryptedSharedPreferences.PrefKeyEncryptionScheme, @NonNull : EncryptedSharedPreferences.PrefValueEncryptionScheme) Opens an instance of encrypted SharedPreferences |
Editor |
edit() |
MutableMap<String!, *> |
getAll() |
Boolean |
getBoolean(@Nullable : String?, : Boolean) |
Float | |
Int | |
Long | |
String? | |
MutableSet<String!>? |
getStringSet(@Nullable : String?, @Nullable : MutableSet<String!>?) |
Unit | |
Unit |
Public methods
create
@NonNull static fun create(
@NonNull : Context,
@NonNull : String,
@NonNull : MasterKey,
@NonNull : EncryptedSharedPreferences.PrefKeyEncryptionScheme,
@NonNull : EncryptedSharedPreferences.PrefValueEncryptionScheme
): SharedPreferences
Opens an instance of encrypted SharedPreferences
Parameters | |
---|---|
fileName |
String: The name of the file to open; can not contain path separators. |
masterKey |
MasterKey: The master key to use. |
prefKeyEncryptionScheme |
EncryptedSharedPreferences.PrefKeyEncryptionScheme: The scheme to use for encrypting keys. |
prefValueEncryptionScheme |
EncryptedSharedPreferences.PrefValueEncryptionScheme: The scheme to use for encrypting values. |
Return | |
---|---|
SharedPreferences |
The SharedPreferences instance that encrypts all data. |
Exceptions | |
---|---|
GeneralSecurityException |
when a bad master key or keyset has been attempted |
IOException |
when fileName can not be used |
create
@NonNull static funcreate(
@NonNull : String,
@NonNull : String,
@NonNull : Context,
@NonNull : EncryptedSharedPreferences.PrefKeyEncryptionScheme,
@NonNull : EncryptedSharedPreferences.PrefValueEncryptionScheme
): SharedPreferences
Deprecated: Use create(Context, String, MasterKey, * PrefKeyEncryptionScheme, PrefValueEncryptionScheme)
instead.
Opens an instance of encrypted SharedPreferences
Parameters | |
---|---|
fileName |
String: The name of the file to open; can not contain path separators. |
masterKeyAlias |
String: The alias of the master key to use. |
context |
Context: The context to use to open the preferences file. |
prefKeyEncryptionScheme |
EncryptedSharedPreferences.PrefKeyEncryptionScheme: The scheme to use for encrypting keys. |
prefValueEncryptionScheme |
EncryptedSharedPreferences.PrefValueEncryptionScheme: The scheme to use for encrypting values. |
Return | |
---|---|
SharedPreferences |
The SharedPreferences instance that encrypts all data. |
Exceptions | |
---|---|
GeneralSecurityException |
when a bad master key or keyset has been attempted |
IOException |
when fileName can not be used |
edit
@NonNull fun edit(): Editor
getAll
@NonNull fun getAll(): MutableMap<String!, *>