|
1 | 1 | <?xml version="1.0" encoding="utf-8"?>
|
2 | 2 | <!-- $Revision$ -->
|
3 |
| -<!-- EN-Revision: 68c2c871505aadf983f16113c5b077b335ce8d76 Maintainer: takagi Status: ready --> |
| 3 | +<!-- EN-Revision: a9c0102c4e3ece6f0af5dad965f83593c73af71f Maintainer: mumumu Status: ready --> |
4 | 4 | <book xml:id="book.hash" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
5 | 5 | <?phpdoc extension-membership="core" ?>
|
6 | 6 | <title>HASH メッセージダイジェストフレームワーク</title>
|
|
10 | 10 | <preface xml:id="intro.hash">
|
11 | 11 | &reftitle.intro;
|
12 | 12 | <para>
|
13 |
| - メッセージダイジェスト (ハッシュ) エンジンです。さまざまなハッシュ |
14 |
| - アルゴリズムを使用して、任意の長さのメッセージに対する |
15 |
| - 直接的あるいは段階的な処理を可能とします。 |
| 13 | + この拡張モジュールは、様々なハッシュアルゴリズムを使って任意の長さのメッセージを直接、または徐々に処理する関数を提供します。可能な処理には、たとえば <acronym>HMAC</acronym> 値の生成や、<acronym>HKDF</acronym> や <acronym>PBKDF2</acronym> を含む、鍵の導出処理があります。 |
| 14 | + </para> |
| 15 | + <para> |
| 16 | + ハッシュアルゴリズムには、大きく分けて3つのカテゴリがあります。完全な一覧は <function>hash_algos</function> を参照ください。 |
| 17 | + <itemizedlist> |
| 18 | + <listitem> |
| 19 | + <simpara> |
| 20 | + チェックサムアルゴリズム(例: <literal>"crc32b"</literal>, <literal>"adler32"</literal>): |
| 21 | + 通信エラーを検出するときなどに役立つチェックサムを計算するのに使えます。これらは大抵、とても高速です。また、衝突したり、容易に"推測可能な" 値を生成できたりするので、暗号には完全に不向きです。 |
| 22 | + </simpara> |
| 23 | + </listitem> |
| 24 | + <listitem> |
| 25 | + <simpara> |
| 26 | + 非暗号化アルゴリズム(例:xxHash ファミリ): |
| 27 | + ハッシュテーブルで使うハッシュ値を計算するのに用いられます。よって、任意の文字列の入力に対して、うまく分散したハッシュ値を生成するように設計されています。これらも一般的に高速ですが、暗号化の処理には向いていません。 |
| 28 | + </simpara> |
| 29 | + </listitem> |
| 30 | + <listitem> |
| 31 | + <simpara> |
| 32 | + 暗号化アルゴリズム(例:SHA-2 ファミリ): |
| 33 | + 入力そのものを表現するものの、それが推測できず、かつ衝突もしにくいハッシュ値を生成するように設計されています。パフォーマンスは二の次とされていますが、モダンなハードウェアはこれらのアルゴリズムの処理を特別に支援するものがあり、PHP も利用可能なときはそれらを使おうとします。 |
| 34 | + </simpara> |
| 35 | + <simpara> |
| 36 | + <acronym>NIST</acronym> の Computer Security Resource Center には、 |
| 37 | + <link xlink:href="&url.hash.nist-hash-functions;">アメリカの連邦通信処理規格(FIPS) が現在認定しているアルゴリズムの説明</link> があります。 |
| 38 | + </simpara> |
| 39 | + <simpara> |
| 40 | + <literal>"md4"</literal> |
| 41 | + <literal>"md5"</literal>, <literal>"sha1"</literal> のような |
| 42 | + 初期の暗号化アルゴリズムの中には、既に衝突しやすいことが証明されているものがあります。こうしたアルゴリズムを使うことは、暗号を用いるアプリケーションでは既に推奨されません。 |
| 43 | + </simpara> |
| 44 | + </listitem> |
| 45 | + </itemizedlist> |
| 46 | + </para> |
| 47 | + |
| 48 | + <para> |
| 49 | + パスワードを処理する際にハッシュ関数を使うためのベストプラクティスに関する情報は、<link linkend="faq.passwords">パスワードのハッシュに関するFAQ</link> も参照ください。 |
16 | 50 | </para>
|
17 | 51 | </preface>
|
18 | 52 | <!-- }}} -->
|
|
0 commit comments