hash()
hash() 関数は指定したハッシュアルゴリズムを使用してバイナリデータのハッシュ値をバイナリで返します。
構文
hash(ALGORITHM, DATA)
パラメーター
ALGORITHM- ハッシュアルゴリズム名です。
md5、sha1、sha256、sha384、sha512のいずれかを指定します。 DATA- ハッシュを計算するバイナリデータです。
説明
hash() 関数は指定したハッシュアルゴリズムでバイナリデータのハッシュ値を計算し、バイナリで返します。
DATA が null またはバイナリ型でない場合は null を返します。
サポートしていないアルゴリズムを指定した場合、またはパラメーターが不足している場合は、クエリのパース時にエラーが発生します。
エラーコード
| エラーコード | 説明 |
|---|---|
| 90690 | ハッシュアルゴリズムが指定されていない場合 |
| 90691 | ハッシュデータが指定されていない場合 |
| 90692 | サポートしていないハッシュアルゴリズムが指定された場合 |
使用例
-
MD5 ハッシュ値の計算
json "{}" | eval result = tohex(hash("md5", encode("hello, world!"))) | # result: 3adbbad1791fbae3ec908894c4963870 -
SHA-256 ハッシュ値の計算
json "{}" | eval result = tohex(hash("sha256", encode("hello, world!"))) | # result: 68e656b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728 -
バイナリでない値を入力した場合
json "{}" | eval result = hash("md5", "hello world") | # result: null -
DATAがnullの場合json "{}" | eval result = hash("sha1", null) | # result: null
互換性
hash() 関数は Sonar 4.0 以前のバージョンから提供されています。