14.4. sha
— SHA-1 メッセージダイジェストアルゴリズム¶(原文)
バージョン 2.5 で撤廃: 代わりにモジュール hashlib
を使ってください。
このモジュールは、 SHA-1 として知られている、 NIST のセキュアハッシュアルゴリズムへのインターフェースを実装しています。 SHA-1 はオリジナルの SHA ハッシュアルゴリズムを改善したバージョンです。 md5
モジュールと同じように使用します。 sha オブジェクトを生成するために new()
を使い、 update()
メソッドを使って、このオブジェクトに任意の文字列を入力し、それまでに入力した文字列全体の digest をいつでも調べることができます。 SHA-1 のダイジェストは MD5 の 128 bit とは異なり、 160 bit です。
以下の値はモジュールの中で定数として与えられており、 new()
で返される sha オブジェクトの属性としても与えられます :
sha オブジェクトには md5 オブジェクトと同じメソッドがあります。
-
sha.
update
(arg)¶(原文) 文字列 arg を入力として sha オブジェクトを更新します。このメソッドを繰り返し呼び出す ( 操作は、それぞれの呼び出し時の引数を結合したデータを引数として一回の呼び出す操作と同等になります。つまり、
m.update(a); m.update(b)
はm.update(a+b)
と同等です。
-
sha.
digest
()¶(原文) これまで update() メソッドで与えてきた文字列のダイジェストを返します。戻り値は 20 バイトの文字列で、 null バイトを含む非 ASCII 文字が入っているかもしれません。
-
sha.
hexdigest
()¶(原文) digits()
と似ていますが、ダイジェストは長さ 40 の文字列になり、 16 進表記数字しか含みません。電子メールやその他のバイナリを受け付けない環境で安全に値をやりとりするために使うことができます。
参考
- ` セキュアハッシュスタンダード <http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf>`_
- セキュアハッシュアルゴリズムは NIST のドキュメント FIPS PUB 180-2 で定義されています。 ` セキュアハッシュスタンダード <http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf>`_, 2002 年 8 月出版。
- ` 暗号ツールキット ( セキュアハッシュ ) <http://csrc.nist.gov/CryptoToolkit/tkhash.html>`_
- NIST からはられているセキュアハッシュに関するさまざまな情報へのリンク