使用mysql 8 SHA2进行dovecot密码哈希

使用mysql 8 SHA2进行dovecot密码哈希,mysql,sql,hash,sha2,mysql-8.0,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'), 然后dovecot能够验证用户的身份。(关于dov

以前(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'),
然后dovecot能够验证用户的身份。(关于dovecot密码方案)
现在,在MySQL的最新版本中,Encrypt已被弃用。()

我想用SHA2重写那个命令,但没有成功

编辑:

这可以帮助用户使用Mysql 8.0版配置邮件服务器。

最后,我将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');

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

谢谢你分享这个问题和答案:这对我很有帮助。。我遵循了相同的教程@,我也收到了相同的反对信息:)谢谢!我一直在寻找这个解决方案!YW@wojtek-b。如果你觉得问题和答案有用,你可以大声说出。