해시 함수

FARM_FINGERPRINT

FARM_FINGERPRINT(value)

설명

오픈소스 FarmHash 라이브러리Fingerprint64 함수를 사용하여 STRING 또는 BYTES 입력의 지문을 계산합니다. 특정 입력에 대한 이 함수의 출력은 변경되지 않습니다.

반환 유형

INT64

예시

WITH example AS (
  SELECT 1 AS x, "foo" AS y, true AS z UNION ALL
  SELECT 2 AS x, "apple" AS y, false AS z UNION ALL
  SELECT 3 AS x, "" AS y, true AS z
)
SELECT
  *,
  FARM_FINGERPRINT(CONCAT(CAST(x AS STRING), y, CAST(z AS STRING)))
    AS row_fingerprint
FROM example;
+---+-------+-------+----------------------+
| x | y     | z     | row_fingerprint      |
+---+-------+-------+----------------------+
| 1 | foo   | true  | -1541654101129638711 |
| 2 | apple | false | 2794438866806483259  |
| 3 |       | true  | -4880158226897771312 |
+---+-------+-------+----------------------+

SHA1

SHA1(input)

설명

SHA-1 알고리즘을 사용하여 입력의 해시를 계산합니다. 입력은 STRING 또는 BYTES일 수 있습니다. 문자열 버전은 입력을 바이트 배열로 취급합니다.

이 함수는 20바이트를 반환합니다.

반환 유형

BYTES

예시

SELECT SHA1("Hello World") as sha1;

-- Note that the result of SHA1 is of type BYTES, displayed as a base64-encoded string.
+------------------------------+
| sha1                         |
+------------------------------+
| Ck1VqNd45QIvq3AZd8XYQLvEhtA= |
+------------------------------+

SHA256

SHA256(input)

설명

SHA-256 알고리즘을 사용하여 입력의 해시를 계산합니다. 입력은 STRING 또는 BYTES일 수 있습니다. 문자열 버전은 입력을 바이트 배열로 취급합니다.

이 함수는 32바이트를 반환합니다.

반환 유형

BYTES

예시

SELECT SHA256("Hello World") as sha256;

SHA512

SHA512(input)

설명

SHA-512 알고리즘을 사용하여 입력의 해시를 계산합니다. 입력은 STRING 또는 BYTES일 수 있습니다. 문자열 버전은 입력을 바이트 배열로 취급합니다.

이 함수는 64바이트를 반환합니다.

반환 유형

BYTES

예시

SELECT SHA512("Hello World") as sha512;