カテゴリ:

文字列とバイナリ関数 (チェックサム)

MD5_BINARY

128ビットの MD5 メッセージダイジェストを含む16バイトの BINARY 値を返します。

こちらもご参照ください。

MD5 , MD5_HEXMD5_NUMBER_LOWER64MD5_NUMBER_UPPER64

構文

MD5_BINARY(<msg>)
Copy

引数

msg

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

戻り値

MD5 メッセージダイジェストを含む16バイトの BINARY 値を返します。

使用上の注意

  • MD5* 関数は元々暗号化関数として開発されましたが、現在暗号化は廃止されているため、その目的には使用しないでください。これらは、他の目的(たとえば、偶発的なデータ破損を検出する「チェックサム」機能)に使用できます。

    データを暗号化および復号化する必要がある場合は、次の関数を使用します。

以下の例は、関数の簡単な使用例を示しています。出力は16バイトのバイナリ文字列ですが、デフォルトでは SNOWSQL は一連の16進数としてバイナリ値を表示するため、以下の出力は、16個の1バイト文字としてではなく、32個の16進数として表示されます。

SELECT md5_binary('Snowflake');
+----------------------------------+
| MD5_BINARY('SNOWFLAKE')          |
|----------------------------------|
| EDF1439075A83A447FB8B630DDC9C8DE |
+----------------------------------+
Copy

この例は、関数を使用して、 BINARY 型の列を含むテーブルに挿入する方法を示しています。

テーブルを作成して入力します。

CREATE TABLE binary_demo (b BINARY);
INSERT INTO binary_demo (b) SELECT MD5_BINARY('Snowflake');
Copy

出力:

SELECT TO_VARCHAR(b, 'HEX') AS hex_representation
    FROM binary_demo;
+----------------------------------+
| HEX_REPRESENTATION               |
|----------------------------------|
| EDF1439075A83A447FB8B630DDC9C8DE |
+----------------------------------+
Copy