根据(相对)新的 PHP 文档:
The 密码哈希值函数使用随机盐(我们不应该担心..O_O),所以如果我理解正确,盐必须存储在某个地方,否则用户在注册网站后将无法登录(不同的盐=>不同的哈希值。)
该函数文档没有告诉任何有关与数据库交互的信息,并且由于我认为存储每个用户的数据只能通过数据库进行扩展,所以该函数到底在哪里存储随机盐? Atxt
像会话数据这样的文件?
让我们通过其他人告诉你的例子来学习:
$options = [
'cost' => 11,
'salt' => 'abcdefghijklmnopqrstuv',
];
echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT, $options)."\n";
Output:
$2y$11$abcdefghijklmnopqrstuu7aZVUzfW85EB4mHER81Oudv/rT.rmWm
粗体部分是您的成本和盐,分别嵌入到生成的哈希中。
你可以把这个吐回password_verify它会相应地处理它:
print_r(password_verify('rasmuslerdorf', '$2y$11$abcdefghijklmnopqrstuu7aZVUzfW85EB4mHER81Oudv/rT.rmWm')); // true
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)