为mysql编译sha256 lib但它产生的其他哈希比dovecot的sha256

时间:2014-09-18 14:54:34

标签: mysql hash sha256

我需要“教”mysql服务器使用sha256算法。 我从http://stuge.se/mysql-sha256/mysql-sha256-3.tar.bz2下载了源代码,编译并放入/ usr / local / lib / mysql / plugin /。然后我在mysql中创建了函数

mysql> create function sha256 returns string soname 'sha256.so';

它很好但是mysql和dovecot会产生不同的哈希值。

[root@taz /usr/ports/mail/postgrey]# mysql -u root -p -e "SELECT sha256('test')"
Enter password:
+------------------------------------------------------------------+
| sha256('test')                                                   |
+------------------------------------------------------------------+
| b1499ffe49c3b4f354e30349bca8e62f08604eab6b687322df47d4f8fce76f19 |
+------------------------------------------------------------------+

[root@taz /usr/ports/mail/postgrey]# doveadm pw -s SHA256.hex -p test
{SHA256.HEX}9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08

[root@taz /usr/ports/mail/postgrey]# doveadm pw -s SHA256 -p test
{SHA256}n4bQgYhMfWWaL+qgxVrQFaO/TxsrC4Is0V1sFbDwCgg=

为什么哈希有所不同? MD5和SHA1哈希值相同,只有SHA256不同。

1 个答案:

答案 0 :(得分:0)

使用命令行,我得到了这个结果:

echo -n test|sha256sum 
9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08  -

这让我相信dovecot会给出正确的答案(我也尝试过online sha256 calculator给出相同的结果)。

这可能意味着您下载的源代码中存在错误。与撰写此mysql-sha256-3.tar.bz2的人联系,让他们知道错误。