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 将处理它以及安全。
我正在构建 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 将处理它以及安全。