Android加密edittext输入

时间:2016-09-03 19:21:14

标签: android encryption sharedpreferences password-encryption

我正在构建适用于每个安装一个用户的Android应用。应用程序需要存储用户名和密码。

验证后,输入的用户名和密码存储在共享首选项中,每次应用程序启动时都需要输入两者。

用户名字段:android:inputType="textCapSentences"

密码字段:android:inputType="textPassword"

我的问题是:加密/解密这两个值的最不痛苦的方法是什么。

加密过程不一定是最好的,因为该应用程序是用于学校项目。

3 个答案:

答案 0 :(得分:3)

无需加密/解密输入。

为了使它们不可读,你只需要使用一对一的Hash-Function

让我们说你的哈希函数是' h':

存储您的值:

// Pseudo
SharedPrefs.put(USERNAME, h(input_username));

验证您的值:

// Pseudo
SharedPrefs.get(USERNAME).equals(h(input_username));

答案 1 :(得分:1)

永远不要加密密码,使用哈希

你可以试试这个:Hash String via SHA-256 in Java

将密码哈希值保存在数据库中,当用户登录时,对输入进行哈希处理,如果数据库中的哈希值等于输入哈希值,则表示用户输入了正确的密码

答案 2 :(得分:0)

因为您希望每次用户启动应用程序时加密/解密凭据(用户名和密码)。我建议你使用[客户经理] [1]

[1]:https://developer.android.com/reference/android/accounts/AccountManager.html将处理它以及安全。