前のトピックへ

14.1. hashlib — セキュアハッシュおよびメッセージダイジェスト

次のトピックへ

14.3. md5 — MD5 メッセージダイジェストアルゴリズム

このページ

14.2. hmac — メッセージ認証のための鍵付きハッシュ化

バージョン 2.2 で追加.

このモジュールでは RFC 2104 で記述されている HMAC アルゴリズムを実装しています。

hmac.new(key[, msg[, digestmod]])

新たな hmac オブジェクトを返します。 msg が存在すれば、メソッド呼び出し update(msg) を行います。 digestmod は HMAC オブジェクトが使うダイジェストコンストラクタあるいはモジュールです。標準では hashlib.md5() コンストラクタになっています。

HMAC オブジェクトは以下のメソッドを持っています:

hmac.update(msg)

hmac オブジェクトを文字列 msg で更新します。このメソッドの呼出の繰り返しは、それらの引数を全て結合した引数で単一の呼び出しをした際と同じになります。すなわち m.update(a); m.update(b)m.update(a + b) と等価です。

hmac.digest()

これまで update() メソッドに渡された文字列のダイジェスト値を返します。これは digest_size バイトの文字列で、 NUL バイトを含む非 ASCII 文字が含まれることがあります。

hmac.hexdigest()

digest() と似ていますが、返される文字列は倍の長さとなり、16進形式となります。これは、電子メールなどの非バイナリ環境で値を交換する場合に便利です。

hmac.copy()

hmac オブジェクトのコピー (“クローン”) を返します。このコピーは最初の部分文字列が共通になっている文字列のダイジェスト値を効率よく計算するために使うことができます。

参考

Module hashlib
セキュアハッシュ関数を提供する Python モジュールです。