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メソッドの別名になってるだけなので、既存インスタンスの内部状態をリセットするメソッドはない。