カテゴリ:

文字列とバイナリ関数 (暗号化ハッシュ)

SHA1_BINARY

160ビットの SHA-1メッセージダイジェストを含む20バイトのバイナリを返します。

構文

SHA1_BINARY(<msg>)

引数

メッセージ

ハッシュされるメッセージの文字列式。

使用上の注意

  • 関数の SHA1 ファミリーは、主に他のシステムとの下位互換性のために提供されています。より安全な暗号化のために、 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 |
+-------+------------------------------------------+