使用MariaDB生成SHA-256密码

时间:2016-03-22 15:27:43

标签: mysql mariadb


我需要用 SHA256 Base64 密码替换一些纯文本密码。 显然,数据库函数生成的哈希值与应用程序使用的哈希值不匹配。例如:我的应用程序使用此函数生成哈希:

$ echo -n "admin" | openssl dgst -sha256 -binary | openssl base64
jGl25bVBBBW96Qi9Te4V37Fnqchz/Eu4qB9vKrRIqRg=

现在,与数据库的密码相同:

select TO_BASE64(SHA2('admin',256));
OGM2OTc2ZTViNTQxMDQxNWJkZTkwOGJkNGRlZTE1ZGZiMTY3YTljODczZmM0YmI4YTgxZjZmMmFiNDQ4YTkxOA== 

你可以看到它不匹配!有帮助吗?
我的数据库版本:服务器版本:10.0.23-MariaDB MariaDB服务器

2 个答案:

答案 0 :(得分:3)

#SearchField { visibility:hidden; } 移除 -binary ,您将获得相同的结果。

使用echo -n "admin" | openssl dgst -sha256 -binary | openssl base64它返回sha256字符串的实际二进制数据,如果这是你想要的,你必须将结果从-binary转换为二进制,然后将SHA2('admin',256)应用于它。

答案 1 :(得分:1)

echo -n "admin" | openssl dgst -sha256 | awk '{ print $2; }' | openssl base64