我有问题在SharedPreference中加密我的数据这是我当前的SharedPreference,保存数据没有加密。我不知道加密数据的内容。
public class MySharedPreference {
//this is name PREFS_NAME
public static final String PREFS_NAME = "LIST_CARD";
//this is CARD where are save data Card
public static final String CARD = "CARD";
public MySharedPreference() {
super();
}
//this is functon witch save array list to Sharepreference
public void saveCardToSharedPreference(Context context, ArrayList<Card> cardList) {
SharedPreferences settings;
SharedPreferences.Editor editor;
settings = context.getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
editor = settings.edit();
Gson gson = new Gson();
String jsonString = gson.toJson(cardList);
editor.putString(CARD, jsonString);
editor.commit();
}
}
答案 0 :(得分:0)
如果您了解加密,您可以自己编写,它只是通过多种双向加密算法/哈希(如SHA,AES或其他)处理加密数据。如果不是,您可以搜索&#34;安全的SharedPreference&#34;那里有很多图书馆或支持班。
答案 1 :(得分:0)
以下将帮助您
static SharedPreferences.Editor editor;
public static ArrayList<Card> getListSharedPref(Context context) {
SharedPreferences sharedPref= PreferenceManager.getDefaultSharedPreferences(context);
String json=sharedPref.getString("LIST_PREF",null);
Gson gson=new Gson();
Type type=new TypeToken<ArrayList<Card>>(){}.getType();
ArrayList<Card> beans = null ;
try {
beans = gson.fromJson(json, type);
} catch(Exception e) {
return null ;
}
return beans;
}
public static void setListSharedPref(Context context, ArrayList<Card> cardList) {
SharedPreferences sharedPref= PreferenceManager.getDefaultSharedPreferences(context);
editor = sharedPref.edit();
Gson gson=new Gson();
String json=gson.toJson(cardList);
editor.putString("LIST_PREF",json);
editor.commit();
}