我正在创建一个需要用户在远程服务器上注册的应用程序,但是我想在发送密码以对其存储之前将其密码进行哈希处理.
我尝试使用jBCrypt库,但是在散列时创建了较长的挂起时间.还有其他选择吗?什么是最好的(和最安全的)哈希密码而不产生明显的挂起的方法?
解决方法:
您的方法似乎是错误的.除非您有一些特殊要求,否则执行此操作的通常方法如下(对于任何Web应用程序,不是特定于Android的):
>用户注册时,获取密码,对其进行哈希处理(建议使用随机盐),然后将其保存在数据库中.这样做是为了避免将实际密码保存在数据库中.
>当用户需要登录时,您将实际密码发送到您的Web应用程序(使用SSL以避免明文发送),而不是哈希.在服务器上,您应用与步骤1中相同的哈希算法,然后将结果与数据库中的结果进行比较.如果它们相同,则用户提供了正确的密码.
简而言之,您应该在服务器上而不是在Android设备上进行哈希处理.