2021-08-12に投稿

Python 標準ライブラリ hmac HMACアルゴリズムのハッシュ

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'

参考

Originally published at marusankakusikaku.jp
ツイッターでシェア
みんなに共有、忘れないようにメモ

maru3kaku4kaku

Pythonこつこつ学習中。よく忘れる。

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント