hash()

hash() 함수는 지정한 해시 알고리즘을 사용하여 바이너리 데이터의 해시값을 바이너리로 반환합니다.

문법

hash(ALGORITHM, DATA)

매개변수

ALGORITHM
해시 알고리즘 이름입니다. md5, sha1, sha256, sha384, sha512 중 하나를 지정합니다.
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() 함수는 소나 4.0 이전 버전부터 제공되었습니다.