Perl:Digest::SHA1
技術ドキュメント目次 -> Perl -> Digest::SHA1本技術ドキュメントは、2002~2004年頃に作成したものが多いです。
内容が古くなっていることもあるかと思いますが、ご了承ください。
【低価格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 についての他のドキュメント
- %SIGによるシグナルの制御
- CSV等区切り文字で連結されたデータを操作(joinとsplit)
- Digest::MD5
- Digest::SHA1
- localtime()やgmtime()をスカラーで評価
- 正規表現において // の代わりに || を使用する
- 正規表現における () と (?:) の違い
- 配列・連想配列を条件に基づいてソート(sort)
■ 他のグループのドキュメント
Apache / Linux / FreeBSD / OpenSSL / Perl / HTTPプロトコル / Jakarta Tomcat / Java / NetBSD / Oracle / PostgreSQL / UNIX の C言語 / UNIX のコマンド / Windows / bind / システム運用TIPS