我正在创建一个需要用户注册远程服务器的应用程序,但我希望在发送密码之前对其密码进行哈希处理以存储在我的数据库中。
我尝试使用jBCrypt库,但它在散列时创建了很长的挂起时间。还有其他选择吗?在不创建明显挂起的情况下散列密码的最佳(也是最安全)方法是什么?
答案 0 :(得分:4)
你的做法似乎是错误的。除非您有一些特殊要求,否则通常的方法如下(对于任何Web应用程序,不是特定于Android的):
简而言之,您应该在服务器上进行哈希处理,而不是在Android设备上进行哈希处理。
答案 1 :(得分:0)
避免不惜一切代价保存第三方密码。保存它们被视为一种网络钓鱼形式。尝试保存身份验证令牌,而不是使用OAuth等方法获取的原始密码。
如果确实需要将密码发送到网络服务器上的数据库,只需使用HTTPS即可。这将确保通过电线进行安全加密。然后,您可以根据需要在数据库中加密密码。此方法还可确保您的加密机制不在设备本身上,这可能更容易受到损害。