网站搜索

MySQL 计算 MD5 校验和


MD5 是目前最常用的哈希算法之一。尽管它被认为不如其他哈希函数安全,但由于其对资源的低要求、保持完整性等原因,它仍然发挥着重要作用。

它也很容易进行比较,这使得它非常适合数字签名和完整性验证。

在本文中,我们将重点讨论使用MySQL内置函数计算一个值的MD5校验和。

MySQL MD5() 函数

正如您可能猜到的,要使用 MySQL 计算给定字符串的 md5 校验和,我们将使用 md5() 函数。

此功能是MySQL 4.1及以上版本的本地功能。它返回输入字符串的MD5 128位校验和。该函数的语法如下:

md5(string)

结果值是一个32个十六进制数字的字符串。该函数在输入为NULL时输出NULL。

示例 1

下面的示例展示了如何使用 md5() 函数生成输入字符串的 MD5 哈希值。

select md5('linux-console');

上面的查询应该返回一个散列,如下所示:

|md5('linux-console')                |
|--------------------------------|
|d1901ec2da207bc977c5965c2b4e9e79|

示例 2

您还可以将数值作为参数提供。下面是一个示例:

select md5(1234);

输出字符串:

|md5(1234)                       |
|--------------------------------|
|81dc9bdb52d04dc20036dbd8313ed055|

示例3

请记住,md5 会根据不同的输入返回不同的哈希值。例如,考虑下面两个示例的哈希值:

select md5('linux-console');

输出哈希:

|md5('linux-console')                |
|--------------------------------|
|d1901ec2da207bc977c5965c2b4e9e79|

查询 2:

select md5('linuxhin');

输出哈希:

|md5('linuxhin')                 |
|--------------------------------|
|cbdf70f882619e054c0e7e49e7e12aae|

我们可以看到,md5函数在给定特定输入时返回两个不同的值。

例子4

如前所述,该函数在给定 NULL 值时将返回 NULL。

select md5(NULL);

输出 :

|md5(NULL)|
|---------|
|         |

空输出

结论

在本教程中,您学习了如何在MySQL中使用md5()函数来计算输入字符串的md5校验和。

感谢阅读,祝编程愉快!!