我需要“教”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不同。
答案 0 :(得分:0)
使用命令行,我得到了这个结果:
echo -n test|sha256sum
9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08 -
这让我相信dovecot会给出正确的答案(我也尝试过online sha256 calculator给出相同的结果)。
这可能意味着您下载的源代码中存在错误。与撰写此mysql-sha256-3.tar.bz2
的人联系,让他们知道错误。