MySQL SHA2() 函数使用指南

MySQL SHA2() 函数计算并返回给定字符串的 SHA-2 摘要,包括: SHA-224, SHA-256, SHA-384, 和 SHA-512 算法。

SHA2() 函数与 MD5() 函数类似,也是一种计算摘要的函数。

SHA2() 语法

这里是 MySQL SHA2() 函数的语法:

SHA2(str, hash_length)

参数

str
必需的。一个要计算 SHA-2 校验和的字符串。
hash_length
必需的。哈希长度,可用值包括 224, 256, 384, 5120 (相当于 256), 分别对应了 SHA-224, SHA-256, SHA-384, 和 SHA-512 算法。

返回值

MySQL SHA2() 函数返回一个由十六进制字符组成的字符串,它是指定字符串的 SHA-2 摘要。

如果任意参数为 NULL,MySQL SHA2() 函数返回 NULL

SHA2() 示例

要计算字符串 hello 的 SHA-224 摘要,请使用如下语句:

SELECT SHA2('hello', 224);
+----------------------------------------------------------+
| SHA2('hello', 224)                                       |
+----------------------------------------------------------+
| ea09ae9cc6768c50fcee903ed054556e5bfc8347907f12598aa24193 |
+----------------------------------------------------------+

要计算字符串 hello 的 SHA-256 摘要,请使用如下语句:

SELECT SHA2('hello', 256);
+------------------------------------------------------------------+
| SHA2('hello', 256)                                               |
+------------------------------------------------------------------+
| 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 |
+------------------------------------------------------------------+

要计算字符串 hello 的 SHA-384 摘要,请使用如下语句:

SELECT SHA2('hello', 384);
+--------------------------------------------------------------------------------------------------+
| SHA2('hello', 384)                                                                               |
+--------------------------------------------------------------------------------------------------+
| 59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f |
+--------------------------------------------------------------------------------------------------+

要计算字符串 hello 的 SHA-512 摘要,请使用如下语句:

SELECT SHA2('hello', 512);
+----------------------------------------------------------------------------------------------------------------------------------+
| SHA2('hello', 512)                                                                                                               |
+----------------------------------------------------------------------------------------------------------------------------------+
| 9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043 |
+----------------------------------------------------------------------------------------------------------------------------------+

如果任意参数为 NULL,MySQL SHA2() 函数返回 NULL

SELECT SHA2(NULL);
+------------+
| SHA2(NULL) |
+------------+
| NULL       |
+------------+