- カテゴリ:
文字列とバイナリ関数 (暗号化ハッシュ)
SHA1 , SHA1_HEX¶
160ビットの SHA-1メッセージダイジェストを含む40文字の16進数でエンコードされた文字列を返します。
これらの関数は同義語です。
構文¶
SHA1(<msg>)
SHA1_HEX(<msg>)
引数¶
メッセージ
ハッシュされるメッセージの文字列式。
使用上の注意¶
関数の SHA1 ファミリーは、主に他のシステムとの下位互換性のために提供されています。より安全な暗号化のために、 SHA2 ファミリーの関数の使用をお勧めします。
例¶
SELECT sha1('Snowflake');
------------------------------------------+
SHA1('SNOWFLAKE') |
------------------------------------------+
fda76b0bcc1e87cf259b1d1e3271d76f590fb5dd |
------------------------------------------+
出力のデータ型は文字列(VARCHAR
)で、 VARCHAR
列に保存できます。
テーブルを作成して入力します。
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) ;クエリと出力は次のとおりです。
SELECT v, v_as_sha1, v_as_sha1_hex FROM sha_table ORDER BY v; +-------+------------------------------------------+------------------------------------------+ | V | V_AS_SHA1 | V_AS_SHA1_HEX | |-------+------------------------------------------+------------------------------------------| | AbCd0 | 9ddb991863d53b35a52c490db256207c776ab8d8 | 9ddb991863d53b35a52c490db256207c776ab8d8 | +-------+------------------------------------------+------------------------------------------+