Java Android SharedReferences和加密SharedReferences
我已经像这样加密了我的首选项Java Android SharedReferences和加密SharedReferences,java,android,encryption,sharedpreferences,Java,Android,Encryption,Sharedpreferences,我已经像这样加密了我的首选项 public void setFile(){ String masterKeyAlias = null; try { masterKeyAlias = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC); } catch (GeneralSecurityException e) { e.printStackTrac
public void setFile(){
String masterKeyAlias = null;
try {
masterKeyAlias = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC);
} catch (GeneralSecurityException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
encryptedSharedPreferences = EncryptedSharedPreferences.create(
"secret_shared_prefs",
masterKeyAlias,
this,
EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
);
} catch (GeneralSecurityException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
我正在设置和获取这样的值
prefEditor.putString(SettingsActivity.KEY_NICKNAME,nickName.getText().toString()).apply();
nickname = encryptedSharedPreferences.getString(SettingsActivity.KEY_NICKNAME, "");
一切正常,但当我打开设置时,它不会在首选项中设置值,因为它使用standart SharedReferences xml文件
因此,主要问题是:如何从加密的SharedReferences而不是SharedReferencesXML文件中设置值