dovecot 密码散列与 mysql 8 SHA2

mah*_*ard 9 mysql sql hash sha2 mysql-8.0

以前(MySQL 5.7)我们使用此命令将新电子邮件地址添加到现有表中:

INSERT INTO `servermail`.`virtual_users`
(`id`, `domain_id`, `password` , `email`)
VALUES
('1', '1', ENCRYPT('password', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), 'user@example.com'),
Run Code Online (Sandbox Code Playgroud)

然后 dovecot 能够对用户进行身份验证。(有关 dovecot 密码方案的更多信息
现在 Encrypt 在最近的 MySQL 版本中已被弃用。(链接

我想使用 SHA2 重写该命令,但我没有成功。

编辑:
这可以帮助某人使用如何使用 Postfix、Dovecot、MySQL 和 SpamAssassin配置邮件服务器来配置具有 8.0 版 Mysql 的邮件服务器。

mah*_*ard 14

最后,我将 dovecote 用于用户身份验证的默认方法从SHA512-CRYPT更改为SHA512。我认为它并不比那更安全,但 MySQL 8 支持它。
之后我使用这个命令向表中添加一个新用户。

INSERT INTO `servermail`.`virtual_users`
(`id`, `domain_id`, `password` , `email`)
VALUES
('1', '1', TO_BASE64(UNHEX(SHA2('password', 512))), 'user@example.com');
Run Code Online (Sandbox Code Playgroud)

如果您能更好地回答我的问题,我们将不胜感激。

  • 感谢您分享这个问题和答案:这对我有帮助..我遵循了相同的教程@ https://www.digitalocean.com/community/tutorials/how-to-configure-a-mail-server-using-postfix -dovecot-mysql-and-spamassassin#step-2-create-a-mysql-database,-virtual-domains,-users-and-aliases 我也有相同的弃用消息:) (2认同)