一方向ハッシュ関数(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よりも高いセキュリティを提供します。