我有一个邮件服务器,它使用以下 sql 将邮箱密码存储在 mysql 数据库中:
ENCRYPT([PASSWORT], concat(_utf8"$1$", right(md5(rand()), 8), _utf8"$"))
但是数据库中没有存储盐。
现在我需要围绕这个数据库构建一个登录过程,但由于缺少盐,很难比较存储的密码。我注意到,密码哈希以以下形式将盐保存在其中:
$1$[SALT]$[PASSWORD-HASH]
如何创建可比较的密码哈希来构建登录?
Dovecot 能够使用存储的密码登录用户,但如何?