Android 加密编辑文本输入

Android encrypt edittext input

我正在构建 Android 应用程序,每次安装仅供一个用户使用。应用程序需要存储用户名和密码。

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

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

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

我的问题是:encrypt/decrypt 两个值最不痛苦的方法是什么。

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

不需要encrypt/decrypt输入。

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

假设您的哈希函数是 'h':

要存储您的值:

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

验证您的价值观:

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

从不加密密码,使用散列

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

将密码哈希保存在您的数据库中,当用户登录时,对输入进行哈希处理,如果您数据库中的哈希值等于输入的哈希值,那么您就知道用户输入了正确的密码

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

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