株式会社エスロジカル
株式会社エスロジカル
セキュリティ、Web開発、Unix開発、Go言語

■ Perl:Digest::SHA1

技術ドキュメント目次 -> Perl -> Digest::SHA1

本技術ドキュメントは、ここしばらくメンテナンスをしておりません。
内容が古くなっている可能性などございますこと、ご理解を頂けますようお願いいたします。


サイフにやさしいSSL証明書
【低価格SSL証明書】弊社運営の低価格SSL証明書販売サイト、翌月末払いなど請求書払いも可能。


◆ はじめにSHA1とは

SHA1とは、MD5などと同じ類のもので、一方向ハッシュアルゴリズムのひとつです。

あるデータを元にそのデータのSHA1値を求めることができますが、
SHA1値を元にそのデータがなにであるかを特定することはできません。
また、同じSHA1値を持つ異なるデータを作成することも非常に困難であるとされています。

認証やデジタル署名でよく用いられます。

※SHA1とMD5を比較すると、SHA1のほうが強固であるとされています。
MD5のアルゴリズムには理論的な弱点が含まれていたことが判明しているのですが、
(ただし、その理論的な弱点が実際の脅威になることはまだ無いそうです)
SHA1のアルゴリズムはそれらの弱点を理論的に強化しているそうです。 

また、
米国のNIST(暗号化アルゴリズムのAESの公募を行ったりしたところ)によって、
1995年に米国政府標準ハッシュ関数として採用されました。

◆ Digest::SHA1

Digest::SHA1 とは Perl のモジュールで、
SHA1のハッシュ値を Perl から求められるようにするものになります。

使い方の例は次のようになりまして、

use Digest::SHA1  qw(sha1 sha1_hex sha1_base64);

my $str = "This is teststring.\n";
my $sha = sha1_hex($str);

print $sha . "\n";


それを実行すると次のように出力されます。

$ perl test.pl
7ec8e641614401c7decb55d2eba938ebe954a9da
$


同じ文字列のSHA1値を、
sha1sum コマンドによって次のように求めてみても、
上記と同じ結果が出力されていることが確認できます。

$ echo "This is teststring." | sha1sum
7ec8e641614401c7decb55d2eba938ebe954a9da  -
$




■ Perl についての他のドキュメント


■ 他のグループのドキュメント

Apache  /  Linux  /  FreeBSD  /  OpenSSL  /  Perl  /  HTTPプロトコル  /  Jakarta Tomcat  /  Java  /  NetBSD  /  Oracle  /  PostgreSQL  /  UNIX の C言語  /  UNIX のコマンド  /  Windows  /  bind  /  システム運用TIPS

アンケートにご協力をお願いいたします。

1. このドキュメントへの評価をご選択ください。
         

2. ご感想をお書きください。