- 카테고리:
문자열 및 이진 함수 (암호화 해시)
SHA1_BINARY¶
160비트 SHA-1 메시지 다이제스트를 포함한 20바이트 이진수를 반환합니다.
구문¶
SHA1_BINARY(<msg>)
인자¶
msg
해시할 메시지인 문자열 식입니다.
반환¶
반환된 값의 데이터 타입은 BINARY 입니다.
사용법 노트¶
SHA1 함수 집합은 주로 다른 시스템과의 하위 호환성을 위해 제공됩니다. 보다 안전한 암호화를 위해 Snowflake는 SHA2 함수 집합을 사용할 것을 권장합니다.
암호 해독해야 하는 메시지를 암호화할 목적으로 이 함수를 사용하지는 마십시오. 이 함수에는 상응하는 암호 해독 함수가 없습니다. (출력의 길이는 입력의 길이와 무관합니다. 출력은 입력의 모든 정보를 보유하기에 충분한 비트를 꼭 가져야 하는 것은 아니므로, 유효한 입력을 가능한 한 전부 암호 해독할 수 있는 함수를 작성하기 불가능합니다.)
이 함수는 데이터 손상을 감지하기 위한 체크섬 계산과 같이, 다른 목적이 있는 함수입니다.
데이터를 암호화 및 암호 해독해야 하는 경우 다음 함수를 사용하십시오.
예¶
SELECT sha1_binary('Snowflake');
------------------------------------------+
SHA1_BINARY('SNOWFLAKE') |
------------------------------------------+
FDA76B0BCC1E87CF259B1D1E3271D76F590FB5DD |
------------------------------------------+
출력의 데이터 타입은 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_sha1_binary FROM sha_table ORDER BY v; +-------+------------------------------------------+ | V | V_AS_SHA1_BINARY | |-------+------------------------------------------| | AbCd0 | 9DDB991863D53B35A52C490DB256207C776AB8D8 | +-------+------------------------------------------+