【发布时间】:2011-08-17 01:23:57
【问题描述】:
我需要先加密我的密码,然后才能将其保存到本地 android 数据库。没有加密一切正常,我有preferences.xml等等。 在我更改偏好值(例如密码)后如何调用函数?这是我的代码:
public class Preferences extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
// Get the custom preference
Preference customPref = (Preference) findPreference("pass");
customPref.setOnPreferenceChangeListener(new OnPreferenceChangeListener(){
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String crypto = SimpleCrypto.encrypt("MYSECRETKEY", newValue.toString()); // encrypt
// Here is where I'm wrong, I guess.
SharedPreferences settings = getSharedPreferences("preferences", MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putString("pass", crypto);
editor.commit();
});
}
}
P.S:像这样,当我更改密码时,它会存储密码而不加密。
【问题讨论】:
标签: android encryption passwords preferences