使用 MariaDB 生成 SHA-256 密码
Generate SHA-256 passwords with 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 Server
从 echo -n "admin" | openssl dgst -sha256 -binary | openssl base64
中删除 -binary,您将得到相同的结果。
with -binary
它 returns sha256 字符串的实际二进制数据,如果那是你想要的,你必须将结果从 SHA2('admin',256)
转换为二进制然后应用 TO_BASE64
到它。
echo -n "admin" | openssl dgst -sha256 | awk '{ print ; }' | openssl base64
我需要用 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 Server
从 echo -n "admin" | openssl dgst -sha256 -binary | openssl base64
中删除 -binary,您将得到相同的结果。
with -binary
它 returns sha256 字符串的实际二进制数据,如果那是你想要的,你必须将结果从 SHA2('admin',256)
转换为二进制然后应用 TO_BASE64
到它。
echo -n "admin" | openssl dgst -sha256 | awk '{ print ; }' | openssl base64