[英]PHP Password_Hash Function
我一直在阅读PHP Password_Hash函数的用法,该函数指出它会自动生成盐,不建议手动生成盐。
考虑到这一点,这是否意味着我可以执行以下代码:
$password = password_hash('mypassword', PASSWORD_DEFAULT);
创建一个哈希密码和加盐密码,除了存储到MySQL表列中之外,无需执行其他任何操作?
password_hash
生成盐和哈希。 然后将它们组合为一个字符串 ,因此您不必像通常那样将它们分开存储。
这就是为什么password_verify
仅采用两个参数的原因:密码以及salt和hash的组合。
不建议自己生成盐,因为这样做可能会出错。 例如,您可能通过生成可预测的字符串或使其太短而错误地创建了一个。 另外, 由于password_hash
函数已经做到了,为什么要麻烦呢? 如果用户更改密码,则通常通常会同时生成哈希值和盐值。
是。 然后,您可以检索它并使用password_verify()来检查用户提供的密码是否与存储的哈希匹配。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.