■ はじめに
https://dk521123.hatenablog.com/entry/2022/10/05/095506
で、HMACについて扱ったので、 今回は、Pythonで実装してみる。
目次
【1】Python での HMAC の実装 【2】サンプル
【1】Python での HMAC の実装
* すでに標準で以下のHMACライブラリが用意されている
https://docs.python.org/ja/3/library/hmac.html
【2】サンプル
import hmac import hashlib import secrets secret_key = "secret-key" message = "Hello World!!!" target_hmac = hmac.new( bytes(secret_key, 'UTF-8'), bytes(message, 'UTF-8'), hashlib.sha1 ) mac_value = target_hmac.hexdigest() print(mac_value) # secretsを使ってちゃんとした秘密鍵を生成 secret_key2 = secrets.token_bytes(32) target_hmac2 = hmac.new( secret_key2, bytes(message, 'UTF-8'), hashlib.sha256 ) mac_value2 = target_hmac2.hexdigest() print(mac_value2)
出力結果
c9f7215c12b7b02a7fee041447232346733f5f78 99efaaf6f983542402cf74449ac1d0c4608dfcb43c1c70f5e4e3f7d2f29f062e
関連記事
メッセージ認証コード ~ MAC / HMAC ~
https://dk521123.hatenablog.com/entry/2022/10/05/095506
Python ~ ハッシュ / hashlib ~
https://dk521123.hatenablog.com/entry/2020/05/03/010502
Pythonで セキュアなランダム文字列生成を考える
https://dk521123.hatenablog.com/entry/2021/11/29/110408
Python ~ 基本編 / 文字列 ~
https://dk521123.hatenablog.com/entry/2019/10/12/075251
Python ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2014/08/07/231242