android - 在 Android 应用程序中散列密码的一些好方法是什么?

标签 android passwords

我正在创建一个应用程序,要求用户在远程服务器上注册,但我想在将其发送到我的数据库中之前对其密码进行哈希处理。

我尝试使用 jBCrypt 库,但它在散列时造成了很长的挂起时间。还有其他选择吗?在不造成明显挂起的情况下散列密码的最佳(也是最安全)方法是什么?

最佳答案

您的方法似乎是错误的。除非您有一些特殊要求,否则通常的方法如下(不是特定于 Android,适用于任何 Web 应用程序):

  1. 当用户注册时,获取他们的密码,对其进行哈希处理(也建议使用随机盐),并将其保存在数据库中。这样做是为了让您不会将实际密码保存在您的数据库中。
  2. 当用户需要登录时,您将实际密码发送到您的网络应用程序(使用 SSL 以避免以明文形式发送),而不是散列。 在服务器上,您应用与步骤 1 中相同的散列算法,并将结果与​​数据库中的内容进行比较。如果它们相同,则用户提供了正确的密码。

简而言之,您应该在服务器上而不是在 Android 设备上进行哈希处理。

关于android - 在 Android 应用程序中散列密码的一些好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7630305/

相关文章:

php - 无需发送电子邮件即可安全重置密码

azure - 首次登录时强制重置密码自定义策略不起作用

android - android中图像/图片/jpg的日期问题(DATE_TAKEN)

android设置android可绘制颜色

android - 尝试删除每个 Play 管理中心的 Android SMS 和 CALL_LOG 权限,但找不到它们

android - future 通知的时间戳不正确

Jquery输入类型切换功能

ios - AWS Cognito错误密码限制

android - 在 android 中删除简单的 ListView 元素

python - 在Python中的类变量中存储密码