一方向ハッシュ関数(HASH)は、可変長の入力文字列データを取り込み、それを固定長(通常は短い)の出力、すなわちハッシュ値に変換します。このハッシュ値は、入力データの一意の識別子(例えば指紋のようなもの)として使用されます。ハッシュ値を用いることで、データが変更されていないかどうかを検証できます。
入力データからハッシュ値を計算するのは容易ですが、逆にハッシュ値から元のデータを復元することは極めて困難であるため、一方向ハッシュ関数はデータの整合性を効果的に保証します。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみ提供されます。
構文
DBMS_CRYPTO.Hash (
src IN RAW,
typ IN PLS_INTEGER)
RETURN RAW;
DBMS_CRYPTO.Hash (
src IN BLOB,
typ IN PLS_INTEGER)
RETURN RAW;
DBMS_CRYPTO.Hash (
src IN CLOB CHARACTER SET ANY_CS,
typ IN PLS_INTEGER)
RETURN RAW;
パラメータの説明
パラメータ |
説明 |
|---|---|
| src | ハッシュ処理を行うソースデータ。 |
| typ | 使用するハッシュアルゴリズム。 |
使用方法
SHA-1またはSHA-2の使用を推奨します。これらはMD4やMD5と比較して、ブルートフォース攻撃に対する耐性が高いです。Message Digestアルゴリズムを使用する必要がある場合は、MD5の方がMD4よりも高いセキュリティを提供します。