这就是我的反对意见。
我正在建立一个iPhone应用程序,用于与我网站上受密码保护的页面进行通信。该应用程序可以通过密码保护罚款,并可以从页面获得响应就好了。问题是,当我尝试从我的应用程序登录该网站时,它会被拒绝。我相信这是因为我在应用程序中使用Bcrypt对密码进行哈希处理,然后再将其发送到网站,然后使用password_verify()
进行检查,这当然需要密码的纯文本,然后是哈希版本,但我我给它两个哈希版本的同样的东西是它不接受的。
我的问题是:是否可以使用password_verify
或其他功能比较两个加密密码?如果没有,它是否足够安全(我敢说)从应用程序以纯文本形式发送密码?
提前感谢大家!
答案 0 :(得分:2)
是否可以使用password_verify或其他功能比较两个加密密码?
没有。 password_verify
需要明文密码和先前哈希的密码形式,并将嵌入式盐作为输入,并且没有办法解决这个问题。该算法使得您需要再次生成相同的哈希值,因此您唯一的另一种选择是将哈希值/盐传输到客户端以在那里重现算法。但这没有意义,因为你想在服务器上进行密码确认,而不是在不值得信任的客户端进行密码确认。
如果没有,它是否足够安全(我敢说)从应用程序以纯文本形式发送密码?
当然,只要通信频道是安全的,这意味着您有SSL连接。