类别:

字符串和二进制函数 (校验和)

MD5_BINARY

返回一个 16 字节的 BINARY 值,其包含 128 位 MD5 消息摘要。

另请参阅:

MD5、MD5_HEXMD5_NUMBER_LOWER64MD5_NUMBER_UPPER64

语法

MD5_BINARY(<msg>)
Copy

实参

msg

字符串表达式,要哈希处理的消息。

返回

返回一个 16 字节的 BINARY 值,其包含 MD5 消息摘要。

使用说明

  • 尽管 MD5* 函数最初作为加密函数开发,但它们现在对于加密来说已经过时,不应该用于此目的。它们可用于其他目的(例如,作为“Checksum”函数来检测意外数据损坏)。

    如果需要对数据进行加密和解密,请使用以下函数:

示例

下面是使用该函数的一个简单示例。请注意,尽管输出是 16 字节的二进制字符串,但默认情况下,SNOWSQL 将二进制值显示为一系列十六进制数字,因此下面的输出显示为 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
语言: 中文