Digest-SHA1-2.01 > Digest::SHA1

名前

Digest::SHA1 - SHA-1アルゴリズムへのPerlインターフェース

概要

 # 関数形式
 use Digest::SHA1  qw(sha1 sha1_hex sha1_base64);

 $digest = sha1($data);
 $digest = sha1_hex($data);
 $digest = sha1_base64($data);


 # OO形式
 use Digest::SHA1;

 $ctx = Digest::SHA1->new;

 $ctx->add($data);
 $ctx->addfile(*FILE);

 $digest = $ctx->digest;
 $digest = $ctx->hexdigest;
 $digest = $ctx->b64digest;

説明

Digest::SHA1モジュールはNIST SHA-1メッセージ・ダイジェスト・アルゴリズムを Perlプログラムから使えるようにします。このアルゴリズムは任意の長さの メッセージを入力として受け取り、その入力の160ビットの"フィンガープリント" あるいは"メッセージ・ダイジェスト"を出力として生成します。

Digest::SHA1モジュールは簡単に使えるように手続き的なインターフェースと、 任意の長さのメッセージを扱うことができ、ファイルから直接読み込むことが できるオブジェクト指向のインターフェースを提供しています。

バイナリのダイジェストは20バイトの長さがあります。16進ダイジェストは 40文字の長さになります。base64ダイジェクトは27文字になります。

関数

以下の関数がDigest::SHA1モジュールからエクスポートすることができます。 デフォルトでは何もエクスポートされません。

sha1($data,...)

この関数はすべての引数を結合し、その"メッセージ"のSHA-1ダイジェストを 計算し、それをバイナリ形式で返します。

sha1_hex($data,...)

sha1()と同じ。ただしダイジェストを16進形式で返します。

sha1_base64($data,...)

sha1()と同じ。ただしダイジェストをbase64にエンコードされた形式で返します。

メソッド

Digest::SHA1モジュールは標準のDigest00インターフェースを提供します。 コンストラクタは以下のようになります:

$sha1 = Digest->new('SHA-1')
$sha1 = Digest::SHA1->new

コンストラクタは、SHA-1メッセージ・ダイジェスト・アルゴリズムの状態を カプセル化した新しいDigest::SHA1オブジェクトを返します。Digestで 説明されているメソッドを使って、最終的にはダイジェストを依頼するデータを オブジェクトに追加することができます。

参考資料

Digest, Digest::HMAC_SHA1, Digest::MD5

http://www.itl.nist.gov/fipspubs/fip180-1.htm

著作権(COPYRIGHT)

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

 Copyright 1999-2001 Gisle Aas.
 Copyright 1997 Uwe Hollerbach.

作者

Peter C. Gutmann, Uwe Hollerbach <uh@alumni.caltech.edu>, Gisle Aas <gisle@aas.no>