14.4。 しゃ —SHA-1メッセージダイジェストアルゴリズム
バージョン2.5以降非推奨:代わりに hashlib モジュールを使用してください。
このモジュールは、SHA-1と呼ばれるNISTのセキュアハッシュアルゴリズムへのインターフェイスを実装します。 SHA-1は、元のSHAハッシュアルゴリズムの改良版です。 md5 モジュールと同じように使用されます。 new()を使用してshaオブジェクトを作成し、update()
メソッドを使用してこのオブジェクトに任意の文字列をフィードします。 、そしていつでも、これまでに供給された文字列の連結のダイジェストを要求できます。 SHA-1ダイジェストは、MD5の128ビットではなく160ビットです。
- sha.new([string])
- 新しいshaオブジェクトを返します。 string が存在する場合、メソッド呼び出し
update(string)
が行われます。
次の値は、モジュール内の定数として、および new()によって返されるshaオブジェクトの属性として提供されます。
- sha.blocksize
- ハッシュ関数に入力されるブロックのサイズ。 これは常に
1
です。 このサイズは、任意の文字列をハッシュできるようにするために使用されます。
- sha.digest_size
- 結果のダイジェストのサイズ(バイト単位)。 これは常に
20
です。
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()
- digest()と同様ですが、ダイジェストが16進数のみを含む長さ40の文字列として返される点が異なります。 これは、電子メールまたはその他の非バイナリ環境で安全に値を交換するために使用できます。
- sha.copy()
- shaオブジェクトのコピー(「クローン」)を返します。 これを使用して、共通の初期サブ文字列を共有する文字列のダイジェストを効率的に計算できます。
も参照してください
- セキュアハッシュ標準
- Secure Hash Algorithmは、2002年8月に公開されたNISTドキュメントFIPS PUB 180-2: Secure Hash Standard によって定義されています。
- 暗号化ツールキット(セキュアハッシュ)
- NISTからセキュアハッシュに関するさまざまな情報へのリンク。