在Android中存储会话密钥

时间:2017-04-13 15:47:22

标签: android security session

我应该如何在Android应用程序中处理会话密钥?

客户端将在登录后从服务器收到密钥和序列号,每次客户端发出新请求时,都会更改序列号。密钥将在到期或销毁之前保持不变。 这些将需要在每个https请求中发送。

以下是密钥和序列号的示例

key: af9bce267343ad72bd6abe7aff58edf2
S/N: 503:960:819

我是否应该使用SQLIte数据库,即使绝对最多只有1个会话。

3 个答案:

答案 0 :(得分:2)

SQLite数据库将使用大锤来破解坚果。我会将信息存储在应用程序的SharedPreferences

String myKey = "af9bce267343ad72bd6abe7aff58edf2";
String mySerial = "503:960:819";

SharedPreferences pref = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
SharedPreferences.Editor edit = pref.edit();

// Set/Store data
edit.putString("session_key", myKey);
edit.putString("serial", mySerial);

// Commit the changes
edit.commit();

每当您想要再次检索值时,请使用:

SharedPreferences pref = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
String myKey = pref.getString("session_key", null);
String mySerial = pref.getString("serial", null);

答案 1 :(得分:1)

您可以使用SharedPreferences,保存这样的值

SharedPreferences sharedpreferences = getSharedPreferences("mPref", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedpreferences.edit();
            editor.putString("token", mToken);
            editor.commit();

并像这样检索它

sharedpreferences = getSharedPreferences("mPref", Context.MODE_PRIVATE);
String token = sharedpreferences.getString("token", null);

答案 2 :(得分:0)

您可以将其存储在mysqlite数据库或共享首选项