HASH スカラー関数

HASH 関数は、入力データのハッシュを戻します。ハッシュは、選択したアルゴリズムに応じて、128 ビット、160 ビット、256 ビット、512 ビットのいずれかになります。この関数を暗号化のために使用できます。

構文図を読む構文図をスキップするHASH(string-expression ,0,algorithm )

スキーマは SYSIBM です。

string-expression
ハッシュするストリング値を表す式。この式は、組み込みの文字ストリング、グラフィック・ストリング、バイナリー・ストリング、数値、ブール値、または日時値を返す必要があります。 値が文字ストリング、GRAPHIC ストリング、バイナリー・ストリングでない場合は、関数の評価の前に VARCHAR に暗黙的にキャストされます。
algorithm
ハッシュに使用するアルゴリズムを示す値を戻す式。この式は、数値、CHAR、または VARCHAR の組み込みデータ・タイプの値を戻す必要があります。Unicode データベースでは、この式で GRAPHIC または VARGRAPHIC のデータ・タイプを戻すこともできます。INTEGER でない値は、関数の評価の前に INTEGER にキャストされます。アルゴリズムを指定しない場合は、デフォルトのアルゴリズムの値である 0 が使用されます。
アルゴリズム値ごとに、使用されるアルゴリズム、結果のサイズ、戻り値の数を、表 1 にまとめます。
表 1. 各アルゴリズムの結果のサイズ
アルゴリズム値 アルゴリズム 結果のサイズ 戻り値の数
0 MD5 128 ビット 2128
1 SHA1 160 ビット 2160
2 SHA2_256 256 ビット 2256
3 SHA2_512 512 ビット 2512
SHA1 と MD5 のどちらのアルゴリズムでもセキュリティーの欠陥が見つかっています。コンプライアンスに関する関連資料 (National Institute of Standards and Technology (NIST) Special Publication 800-131A など) で、使用できるハッシュ・アルゴリズムを確認してください。

結果

結果のデータ・タイプは VARBINARY です。引数のいずれかが NULL になる可能性がある場合、結果も NULL になる可能性があります。 引数のいずれかが NULL の場合、その結果は NULL 値です。

values  hash('Charlie at IBM', 1)
result is Ãä#F$Âüin¬SðÂÂ¥G5§