わけあってHTTP Signatureの実装をしており、SHA-256と仲良くしようと頑張っている。
しかし、HTTP上ではSHA-256ダイジェストはBase64で表現されることが多い一方で、linuxでsha256sum
コマンドを使ってもhex形式で結果が返るので、結果が正しいかすぐ確認できない。
調べるとxxd
コマンドを使うのが良いことがわかった。
$ echo -n '{}' | sha256sum | xxd -r -p | base64 RBNvo1WzZ4oRRq0W9+hknpT7T8If536DEMBg9hyq/4o=
xxd
はhexフォーマットのダンプを作成したり、それを戻したりするツール。-r
オプションでhex形式をバイナリに戻し、-p
オプションでそれをそのまま出力させている。