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'