gpt4 book ai didi

php - 如何用salt检查mysql哈希密码

转载 作者:行者123 更新时间:2023-11-29 02:21:22 27 4
gpt4 key购买 nike

我正在使用一个教程来设置邮件服务器(它已经可以工作),我还想使用用户表登录网站。

教程创建账号使用的sql为:

INSERT INTO 'mailserver'.'virtual_users'
('id', 'domain_id', 'password' , 'email')
VALUES ('1', '1',
ENCRYPT('PASSWORD', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))),
'email1@mysite.com');

我的看法,

加密('密码', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16)))

创建一个加盐哈希,对吗?问题是盐看起来是随机的而不是存储的值。

我应该如何将其与用户提供的密码进行比较?

Postfix 没有问题,因为它可以工作,所以我必须遗漏一些东西

最佳答案

ENCRYPT 函数将输出一个以盐为前缀的“salted”字符串,因此将加密后的密码反馈给它会重新提供原始盐。

当您需要将数据库中的密码与用户输入的密码进行比较时,使用这样的查询

SELECT * FROM `mailserver`.`virtual_users`
WHERE `email` = '<the email address entered by the user>'
AND `password` = ENCRYPT('<the password entered by the user>', `password`);

关于php - 如何用salt检查mysql哈希密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31321568/

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