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)
如果您能更好地回答我的问题,我们将不胜感激。