Hashsum

如何在 cli 上獲得 base64 編碼的 shaX?

  • October 5, 2021

sha1sum輸出實際 sha 的十六進制編碼格式。我想看到一個 base64 編碼的變體。可能是一些輸出我可以通過管道傳輸的二進製版本的命令,如下所示:echo -n "message" | <some command> | base64或者如果它直接輸出它也可以。

如果您有來自OpenSSL的命令行實用程序,它可以生成二進制形式的摘要,甚至可以轉換為 base64(在單獨的呼叫中)。

printf %s foo | openssl dgst -binary -sha1 | openssl base64 -A

-sha256, -sha512, 等也受支持。

由於sha1sum不提供二進制輸出選項,您可能需要找到一個與它們相反的實用程序並通過od管道傳輸它們。接受 fschmitt 的建議以使用xxd‘reverse’ 和 ‘plain dump’ 標誌,它看起來像這樣:

sha1sum | cut -f1 -d\ | xxd -r -p | base64

引用自:https://unix.stackexchange.com/questions/3675