PHP:如何将SHA1 RAW HASH保存在cookie sha1($ string,true)中



im试图在cookie中保存原始的sha1 hash,但是当我将其保存在cookie中时,我会得到另一个字符串。

$password = "test";
$hashPassword = sha1($password, TRUE);
$cookie_userPassword= "cookie_userPassword";
$userPassword_value = $hashPassword;
setrawcookie($cookie_username, $userPassword_value, time() + (86400 * 30), "/"); 
echo $_cookie_username;

在我的代码中,我将哈希德密码保存在数据库中,但是数据库中的哈希密码与cookie中的哈希密码不同。

看起来您正在尝试实现自己的身份验证/会话系统。作为一个之前犯了这个错误的人,请在此问题上掌握我的智慧,而不会。我知道这不是您追求的答案,您只想使代码正常工作,因此您可以继续进行下一部分。请不要。

有许多功能和支持的身份验证库,这些库已经花费时间充分了解身份验证系统的安全含义,并为您完成了所有艰苦的工作。

作为个人建议,我建议您查看Sentinel(https://cartalyst.com/manual/sentinel/2.0#installation(,它也可以通过注册和激活来处理繁重的工作,还有很多其他事情'可能会发现您以后需要。

关于您试图做的事情,将密码(甚至是哈希(放入cookie中的问题是,它存储在客户端的计算机上,这意味着它不在您控制之外。哈希密码永远不会离开您的系统。我认为以正确的方式阅读php时也值得您 - 密码hashing。

最新更新