如何使用https://developer.android.google.cn/reference/androidx/security/crypto/EncryptedSharedPreferences在我的android java应用程序中实现加密的共享首选项?我不知道如何实施,任何人都可以提供帮助?
最佳答案
根据文档示例,您可以像这样初始化EncryptedSharedPreferences
。
public SharedPreferences getEncryptedSharedPreferences(){
String masterKeyAlias = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC);
SharedPreferences sharedPreferences = EncryptedSharedPreferences.create(
"secret_shared_prefs_file",
masterKeyAlias,
context,
EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
);
return sharedPreferences;
}
保存数据
getEncryptedSharedPreferences().edit()
.putString("key", value)
.apply()
获取数据
getEncryptedSharedPreferences().getString("key", "defaultValue");
确保您的应用程序API版本为23+,并且您需要添加此依赖项
implementation "androidx.security:security-crypto:1.0.0-alpha02" //Use latest version