根据Dovecot的wiki ,SHA256scheme是存储在base64中的密码的总和。
$ doveadm pw -s SHA256 -p "test" {SHA256}n4bQgYhMfWWaL+qgxVrQFaO/TxsrC4Is0V1sFbDwCgg=
但它不匹配这个命令的输出:
$ echo -n "test" | sha256sum | awk '{ print $1 }' | base64 OWY4NmQwODE4ODRjN2Q2NTlhMmZlYWEwYzU1YWQwMTVhM2JmNGYxYjJiMGI4MjJjZDE1ZDZjMTVi MGYwMGEwOAo=
为什么不一样?
我find了答案。 输出
$ echo -n "test" | sha256sum
是散列的hex表示。 sha256sum没有原始(二进制)输出的选项。 这个命令的作用:
$ echo -n "test" | openssl dgst -binary -sha256 | base64