【发布时间】:2015-09-28 01:40:05
【问题描述】:
我正在使用教程来设置邮件服务器(它已经在工作),并且我还想使用 users 表登录网站。
教程用来创建账户的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');
我的看法,
加密('PASSWORD', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16)))
创建一个加盐哈希,对吗?问题是盐看起来是一个随机的未存储值。
我应该如何将它与用户提供的密码进行比较?
Postfix 这样做没有问题,因为它有效,所以我必须遗漏一些东西
【问题讨论】:
-
ENCRYPT 函数将输出一个以 salt 本身为前缀的“salted”字符串,因此将加密密码反馈给它会重新提供原始 salt。
-
@MarkBaker 哦,我不知道。您可以设置一个选择示例,以正确的答案对此进行验证吗?这样我就可以给你完整的答案了。