Python 標準ライブラリ hmac HMACアルゴリズムのハッシュ
Publish date: 2021-08-11
HMACアルゴリズムのハッシュはライブリhmacで計算できます。
ダイジェスト値の計算は`sha256
hmac.digest(key, msg, digest)
import hmac
hmac.digest(b'key', b'test', 'MD5')
# => b"\x1dJ'C\xc0V\xe4g\xff?\t\xc9\xaf1\xde~"
new(key, msg=None, digestmod='')
でhmacのインスタンを取得し、
update
でメッセージを指定してから、digest()
で計算しても同じ結果を取得できる。
md5 = hmac.new(b'key', digestmod='MD5')
md5.update(b'test')
md5.digest()
# => b"\x1dJ'C\xc0V\xe4g\xff?\t\xc9\xaf1\xde~"
メッセージの指定はupdate
で分けて行うこともできる。
md5 = hmac.new(b'key', digestmod='MD5')
md5.update(b'te')
md5.update(b'st')
md5.digest()
# => b"\x1dJ'C\xc0V\xe4g\xff?\t\xc9\xaf1\xde~"
ハッシュの情報
md5 = hmac.new(b'key', digestmod='MD5')
md5.update(b'test')
md5.hexdigest() # => ダイジェスト値16進数文字列 1d4a2743c056e467ff3f09c9af31de7e
md5.digest_size # => HMAC ダイジェストのバイト数 16
md5.block_size # => ハッシュアルゴリズムのブロックのバイト数 64
md5.name # => アルゴリズムの名称 'hmac-md5'