MySQL 8 SHA2与Dovecot SHA256-CRYPT

update :由于加密算法的工作方式,我天真在这里尝试手动将盐附加到密码上似乎无法正常工作(请参阅{{3 }}),所以这实际上不是一个Stack Overflow问题,而是一个关于MySQL 8函数的纯粹的Server Fault问题。万一其他人有此问题,请留在这里。您可以看到有关服务器故障Unix crypt using SHA-256 and SHA-512的问题。

这里有一个很长的背景故事,但简短的故事是,在给定相同的盐和密码的情况下,我似乎无法让MySQL 8和Dovecot生成相同的SHA256哈希。我怀疑是一个小错误,或者是一些字符串编码问题(或者可能是两者都有)。

NB 我在Server Fault上问了同样的问题,因为它似乎更适合那里,但没有得到任何爱,我在这里看到了几个类似的问题,所以...

鸽舍:

Double

然后,我抓住那个盐($doveadm pw -s SHA256-CRYPT -p apassword {SHA256-CRYPT}$5$h1JEsg1tmnTGS9Ub$Saoi1jr/uddYVD.n5p0hz70H9slnubpG7MQCkzpAiu4 ),并尝试从MySQL 8中获得相同的输出:

h1JEsg1tmnTGS9Ub

正如我所提到的,这里似乎有几个类似的问题,但要么是他们在MySQL 5.x中使用了SELECT concat('$5$','h1JEsg1tmnTGS9Ub','$',TO_BASE64(UNHEX(SHA2(concat('apassword','h1JEsg1tmnTGS9Ub'),256)))) WHERE true $5$h1JEsg1tmnTGS9Ub$Vm9gPbWHuXt/zslurPQ7Nx0JLp1CphlBQbnL9R86XbM= 函数(已在8.0.3中删除),要么人们似乎已经决定放盐,只使用未加盐的SHA512。在我看来,这应该很容易,但是...

任何人都对如何使MySQL 8生成与doveadm相同的哈希值,具有相同的密码和盐的想法有什么想法?

FWIW,无论是否有TO_BASE64以及有无UNHEX,我都尝试过MySQL(我相信所有组合)。

谢谢!

ikerli 回答:MySQL 8 SHA2与Dovecot SHA256-CRYPT

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2729053.html

大家都在问