オラクルでハッシュ値を取得するには、ORA_HASH関数を使用します。
構文
- (ORA_HASH構文)
- ORA_HASH(文字列, バケット, シード)
文字列 | ハッシュ値へ変換する文字列 |
バケット | ハッシュ値へ変換するキー 0~4294967295を指定可。 デフォルトは4294967295 |
シード | ハッシュ値へ変換するキー 0~4294967295を指定可。 デフォルトは0 |
バケット、シードはハッシュ値へ変換時に使用するキーです。
サンプル
例)'ABC'をバケット⇒1234、シード⇒1でハッシュ値に変換する
- SQL*Plus
- SQL> SELECT ORA_HASH('ABC', 1234, 1) FROM dual; ORA_HASH('ABC',1234,1) ---------------------- 642
例)'ABC'をバケット⇒1234、シード⇒0でハッシュ値に変換する
- SQL*Plus
- SQL> SELECT ORA_HASH('ABC', 1234, 0) FROM dual; ORA_HASH('ABC',1234,0) ---------------------- 125
例)'ABC'をバケット⇒1234567、シード⇒1でハッシュ値に変換する
- SQL*Plus
- SQL> SELECT ORA_HASH('ABC', 1234567, 1) FROM dual; ORA_HASH('ABC',1234567,1) ------------------------- 677946
解説
- バケット、シードが異なると異なるハッシュ値になります。
- ハッシュ値は、不可逆なコードなので暗号化した値として使用されます。