SHA2_BINARY
SHA2_BINARY
N이 지정된 출력 다이제스트 크기일 때, N비트 SHA-2 메시지 다이제스트를 포함하는 이진 값을 반환해요.
본문
구문 (Syntax)
SHA2_BINARY( [, ])
인자 (Arguments)
필수:
msg— 해시할 메시지인 문자열 표현식이에요.
선택:
-
digest_size— 문자열을 암호화하는 데 사용된 특정 SHA-2 함수에 해당하는 출력 크기(비트 단위):- 224 = SHA-224
- 256 = SHA-256 (기본값)
- 384 = SHA-384
- 512 = SHA-512
SHA-512/224와 SHA-512/256은 지원되지 않아요.
반환 값 (Returns)
반환 값의 데이터 타입은 BINARY예요.
사용 노트 (Usage Notes)
- 암호 해독이 필요한 메시지를 암호화하는 데 이 함수를 사용하지 마세요. 이 함수에는 대응하는 해독 함수가 없어요. (출력의 길이는 입력의 길이와 무관해요. 출력이 입력의 모든 정보를 담기에 충분한 비트를 반드시 갖지는 않으므로, 모든 가능한 유효 입력을 해독할 수 있는 함수를 작성하는 것은 불가능해요.)
- 이 함수는 데이터 손상 탐지를 위한 체크섬 계산과 같은 다른 목적을 위한 것이에요.
- 데이터를 암호화하고 해독해야 한다면 다음 함수를 사용해요:
- ENCRYPT와 DECRYPT
- ENCRYPT_RAW와 DECRYPT_RAW
예제 (Examples)
SELECT sha2_binary('Snowflake', 384);
--------------------------------------------------------------------------------------------------+
SHA2_BINARY('SNOWFLAKE', 384) |
--------------------------------------------------------------------------------------------------+
736BD8A53845348830B1EE63A8CD3972F031F13B111F66FFDEC2271A7AE709662E503A0CA305BD50DA8D1CED48CD45D9 |
--------------------------------------------------------------------------------------------------+
출력의 데이터 타입은 BINARY이며 BINARY 컬럼에 저장할 수 있어요: 테이블을 만들고 채우기:
CREATE TABLE sha_table(
v VARCHAR,
v_as_sha1 VARCHAR,
v_as_sha1_hex VARCHAR,
v_as_sha1_binary BINARY,
v_as_sha2 VARCHAR,
v_as_sha2_hex VARCHAR,
v_as_sha2_binary BINARY
);
INSERT INTO sha_table(v) VALUES ('AbCd0');
UPDATE sha_table SET
v_as_sha1 = SHA1(v),
v_as_sha1_hex = SHA1_HEX(v),
v_as_sha1_binary = SHA1_BINARY(v),
v_as_sha2 = SHA2(v),
v_as_sha2_hex = SHA2_HEX(v),
v_as_sha2_binary = SHA2_BINARY(v)
;
쿼리와 출력은 다음과 같아요 (표시를 위해 출력은 사용자가 읽을 수 있는 형태, 즉 이 경우 16진수 문자열로 암시적으로 캐스팅됨):
SELECT v, v_as_sha2_binary
FROM sha_table
ORDER BY v;
+-------+------------------------------------------------------------------+
| V | V_AS_SHA2_BINARY |
|-------+------------------------------------------------------------------|
| AbCd0 | E1D8BA27889D6782008F495473278C4F071995C5549A976E4D4F93863CE93643 |
+-------+------------------------------------------------------------------+
더 알아보기
- Snowflake 해시 함수 — 관련 문자열/이진 함수 전체 목록