我正在尝试为我的用户密码创建一个双向加密算法。我需要加密它,但没有预设加密通过(我设置的)(salt?)原始密码无法解密
发布于 2010-09-21 17:29:07
听起来您想要使用单向加密散列,而不是双向加密。以下是最佳实践密码存储和验证的一个很好的示例:
要保存,请执行以下操作:
$userPasswordInput =$_POST‘密码’;
$salt = //理想情况下,随机生成一个并将其保存到数据库中,否则,使用保存到php文件中的常量
$password = sha1($userPasswordInput .$salt);
将$password (最好是$salt)保存到数据库。在比较时,将盐和用户输入连接在一起,加密( sha1 )它(或任何一种加密),然后将其与保存的(加密+盐)密码进行比较。
发布于 2010-09-21 17:35:58
对于双向加密,这被称为"key",而不是"salt“。查看mcrypt函数。
发布于 2010-09-21 17:51:47
我是这样做的:
创建$user + $password
$saltedHash = md5($salt.$password);现在您有了加密密码($saltedHash)来将其保存到数据库中。
如果有人试图登录,您可以对输入的密码执行相同的操作,并将其与数据库中的密码进行比较。
https://stackoverflow.com/questions/3758819
复制相似问题