hash()

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

構文

hash(ALGORITHM, DATA)

パラメーター

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

説明

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

DATA が null またはバイナリ型でない場合は 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. DATA が null の場合

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

変更履歴

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