HASH スカラー関数
HASH 関数は、入力データのハッシュを戻します。ハッシュは、選択したアルゴリズムに応じて、128 ビット、160 ビット、256 ビット、512 ビットのいずれかになります。この関数を暗号化のために使用できます。
スキーマは SYSIBM です。
- string-expression
- ハッシュするストリング値を表す式。この式は、組み込みの文字ストリング、グラフィック・ストリング、バイナリー・ストリング、数値、ブール値、または日時値を返す必要があります。 値が文字ストリング、GRAPHIC ストリング、バイナリー・ストリングでない場合は、関数の評価の前に VARCHAR に暗黙的にキャストされます。
- algorithm
- ハッシュに使用するアルゴリズムを示す値を戻す式。この式は、数値、CHAR、または VARCHAR の組み込みデータ・タイプの値を戻す必要があります。Unicode データベースでは、この式で GRAPHIC または VARGRAPHIC のデータ・タイプを戻すこともできます。INTEGER でない値は、関数の評価の前に INTEGER にキャストされます。アルゴリズムを指定しない場合は、デフォルトのアルゴリズムの値である 0 が使用されます。
アルゴリズム値ごとに、使用されるアルゴリズム、結果のサイズ、戻り値の数を、表 1 にまとめます。
SHA1 と MD5 のどちらのアルゴリズムでもセキュリティーの欠陥が見つかっています。コンプライアンスに関する関連資料 (National Institute of Standards and Technology (NIST) Special Publication 800-131A など) で、使用できるハッシュ・アルゴリズムを確認してください。
| アルゴリズム値 | アルゴリズム | 結果のサイズ | 戻り値の数 |
|---|---|---|---|
| 0 | MD5 | 128 ビット | 2128 |
| 1 | SHA1 | 160 ビット | 2160 |
| 2 | SHA2_256 | 256 ビット | 2256 |
| 3 | SHA2_512 | 512 ビット | 2512 |
結果
結果のデータ・タイプは VARBINARY です。引数のいずれかが NULL になる可能性がある場合、結果も NULL になる可能性があります。 引数のいずれかが NULL の場合、その結果は NULL 値です。
例
values hash('Charlie at IBM', 1)
result is Ãä#F$Âüin¬SðÂÂ¥G5§