我正在使用教程来设置邮件服务器(它已经正常工作),我还希望使用users表在网站上登录。
教程用于创建帐户的sql是:
df$x[-1] <- df$x[-1][order(df$x[-1], decreasing=T)]
# x
# 1 4
# 2 9
# 3 8
# 4 7
# 5 6
我看待它的方式,
ENCRYPT('PASSWORD',CONCAT('$ 6 $',SUBSTRING(SHA(RAND()), - 16)))
创建一个盐渍哈希,对吧?事情是盐看起来是一个随机的未存储的值。
我应该如何将其与用户提供的密码进行比较?
Postfix没有问题,因为它有效,所以我不得不遗漏一些东西
答案 0 :(得分:2)
ENCRYPT函数将输出一个带有盐本身前缀的“盐渍”字符串,因此将其加回加密密码将重新提供原始盐。
当您需要将数据库中的密码与用户输入的密码进行比较时,请使用此类查询
SELECT * FROM `mailserver`.`virtual_users`
WHERE `email` = '<the email address entered by the user>'
AND `password` = ENCRYPT('<the password entered by the user>', `password`);