hash()

hash() 関数は指定したハッシュアルゴリズムを使用してバイナリデータのハッシュ値をバイナリで返します。

構文

hash(ALGORITHM, DATA)

パラメーター

ALGORITHM
ハッシュアルゴリズム名です。md5sha1sha256sha384sha512 のいずれかを指定します。
DATA
ハッシュを計算するバイナリデータです。

説明

hash() 関数は指定したハッシュアルゴリズムでバイナリデータのハッシュ値を計算し、バイナリで返します。

DATAnull またはバイナリ型でない場合は null を返します。

サポートしていないアルゴリズムを指定した場合、またはパラメーターが不足している場合は、クエリのパース時にエラーが発生します。

エラーコード

エラーコード説明
90690ハッシュアルゴリズムが指定されていない場合
90691ハッシュデータが指定されていない場合
90692サポートしていないハッシュアルゴリズムが指定された場合

使用例

  1. MD5 ハッシュ値の計算

    json "{}" | eval result = tohex(hash("md5", encode("hello, world!")))
    | # result: 3adbbad1791fbae3ec908894c4963870
    
  2. SHA-256 ハッシュ値の計算

    json "{}" | eval result = tohex(hash("sha256", encode("hello, world!")))
    | # result: 68e656b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728
    
  3. バイナリでない値を入力した場合

    json "{}" | eval result = hash("md5", "hello world")
    | # result: null
    
  4. DATAnull の場合

    json "{}" | eval result = hash("sha1", null)
    | # result: null
    

互換性

hash() 関数は Sonar 4.0 以前のバージョンから提供されています。