比较BCrypt哈希和Bcrypt哈希PHP


Compare BCrypt hash to Bcrypt hash PHP

这就是我所面对的。

正在构建一个适用于iPhone的应用程序,该应用程序与我网站上的密码保护页面进行通信。该应用程序可以通过密码保护,并且可以很好地从页面获得响应。问题是,当我尝试从我的应用程序登录该网站时,它被拒绝了。我相信这是因为我在将密码发送到网站之前在应用程序中使用 Bcrypt 对密码进行哈希处理,然后用 password_verify() 进行检查,这当然需要密码的纯文本,然后是哈希版本,但我给了它两个它不接受的相同事物的哈希版本。

我的问题是:是否可以使用password_verify或其他功能比较两个加密密码?如果没有,它是否足够安全(我敢说)从应用程序以纯文本形式发送密码?

提前感谢大家!

是否可以使用password_verify或其他功能比较两个加密密码?

不。 password_verify需要明文密码和以前散列形式的密码,其中嵌入的盐作为其输入,这是没有办法的。该算法是这样的,您需要再次使用盐来生成相同的哈希值,因此您唯一的其他选择是将哈希/盐传输到客户端以在那里重现算法。但这毫无意义,因为您想在服务器上进行密码确认,而不是在不可信的客户端上进行密码确认。

如果没有,它是否足够安全(我敢说)从应用程序以纯文本形式发送密码?

当然,只要通信通道是安全的,这意味着您有SSL连接。