PythonとopensslコマンドでHMAC-SHA256を計算する
Pythonとopensslコマンドの2つの方法で、Hello
という文字列のデータとsecret
という秘密鍵からHMAC-SHA256を計算してみます。結果のバイナリはコンソールでは見づらいので、BASE64でテキストにしています。
Pythonで計算
import base64 import hashlib import hmac data = "Hello" secret = "secret" signature = hmac.new(secret.encode("utf-8"), data.encode("utf-8"), hashlib.sha256).digest() print(base64.b64encode(signature).decode("utf-8")) # => DMaS8hd7QrblzYJIjubF1SagB8Vx594f7AfB4rHfouI=
opensslコマンドで計算
opensslコマンドでの実行例
$ echo -n Hello | openssl dgst -binary -sha256 -hmac 'secret' | base64 DMaS8hd7QrblzYJIjubF1SagB8Vx594f7AfB4rHfouI=
計算結果が同じ値になることが確認できました。