Digest::SHA - SHAによるダイジェスト値を求める
Digest::SHAモジュールを使用すると、各種SHAの値を求めることができます。SHA-1値を求めるには以下の関数を使います。
# モジュールの読み込みと関数のインポート use Digest::SHA 'sha1_hex';
sha1_hex関数を使用するとSHA-1の値を40桁の16進数の文字列として取得できます。
# SHA-1値を求める my $sha1_sum = sha1_hex 'alkeiop2lkj39';
結果は次のような40桁の16進数になります。
# SHA-1値(16進数の文字列で取得) 20b07a8050be5dd980b1c17109fbbffaf3194498
Digest::SHAに関するFAQ
Q. 簡単にいうとSHAとはなんでしょうか。
A. 「ある値」から「元の値を推測することがとても難しい値」を作り出す関数のひとつです。ファイルが破損していないかをチェックしたり(ファイルがわずかでも壊れているとSHA値が異なることでチェックできる)、電子署名に用いられたりします。SHAは同じ機能を持つMD5よりも推測されにくいです。MD5値を求めるのにはDigest::MD5モジュールを使用することができます。
Q. 他の形式でSHA-1値を取得することができますか。
A. はいできます。sha1関数を使えばバイナリ形式で、sha1_base64関数を使えばbase64形式でSHA-1値を取得することができます。
Q. SHA-1以外に、強度の高いSHA-256、SHA-384、SHA-512などが存在しますが、それらを利用することはできますか。
A. はいできます。次の関数があります。
# バイナリ形式 sha1 sha224 sha256 sha384 sha512 # 16進数文字列 sha1_hex sha224_hex sha256_hex sha384_hex sha512_hex # base64形式 sha1_base64 sha224_base64 sha256_base64 sha384_base64 sha512_base64