Digest::SHA

SHAアルゴリズムよるハッシュ値を計算する。

use Digest::SHA;
パッケージをロードする。いくつかの関数をインポートすることもできるが、省略。

使い方:
// インスタンスを生成する。
// 対応しているアルゴリズムは、SHA-1, SHA-224, SHA-256, SHA-384, SHA-512。
// 'SHA-256', 'sha256', 256 など、多彩な表記方法を認識する。
my $sha = Digest::SHA->new($algo);
// 元データを追加する。
$sha->add($data );
// ファイルを元データとして追加する。
$sha->addfile($filename);
// または
open FH,'file' || die 'open failure';
$sha->addfile(*FH);
// ハッシュ値を計算し、SHA値を返す。
$digest = $sha->digest();
// ハッシュ値を計算し、SHA値を16進文字列で返す。
$digest = $sha->hexdigest();
// ハッシュ値を計算し、SHA値をBASE64エンコードした文字列で返す。
// 含まれる文字は、[A-Za-z0-9+/]。
$digest = $sha->b64digest();

addメソッドやaddfileメソッドは、SHAオブジェクト自身を返すので、下記のような記述もできる。

$digest = Digest::SHA->new->addfile(*FH)->digest();

resetメソッドもあるが、newメソッドの別名になってるだけなので、既存インスタンスの内部状態をリセットするメソッドはない。