gpt4 book ai didi

php - 使用 hash_hmac 在 php 中保护密码

转载 作者:行者123 更新时间:2023-11-30 23:36:06 24 4
gpt4 key购买 nike

我刚刚从这个站点获得了一个函数,它描述了如何使用哈希生成安全密码。功能如下

function hash_password($password, $nonce) {
global $site_key;
return hash_hmac('sha512', $password . $nonce, $site_key);
}

我正在使用这个功能,就像

$salt = sha1(rand()); 
$salt = substr($salt, 0, 4);
$site_key="site.com";
$pass=hash_password($pass,$salt);

它每次都会生成随机文本。但我无法验证数据库中的密码,因为在数据库中存储了密码,并且每次都会生成随机文本。

我想知道如何使用这个函数来

  1. 在创建用户时将密码存储在数据库中
  2. 登录时从数据库验证密码

还有其他安全的方法吗?

谢谢

最佳答案

您需要将随机字符串(我认为是$nonce)作为数据的一部分与生成的哈希一起存储在数据库中。否则,您根本没有足够的信息来验证密码。

关于php - 使用 hash_hmac 在 php 中保护密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7229392/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com