7

我试图从我的数据库中返回一个值的 MD5 编码字符串,但它只返回一个空白结果(不是 null,只是空白)。我试过运行这个查询并得到相同的结果:

SELECT MD5('test');

我尝试重新启动 MySQL 服务器、MySQL Workbench 等。但得到相同的结果。如果我尝试在不同的数据库/服务器上运行相同的命令,它会很好地返回哈希字符串。

我究竟做错了什么?是否有我在意外中禁用的设置?

4

1 回答 1

9

在 MySQL v5.5.3 之前,MD5()返回二进制字符串。

默认情况下,MySQL Workbench 不显示二进制字符串(避免意外误解);但是可以在输出网格中显示二进制字符串值:查看 > 编辑 > 首选项 > SQL 编辑器 >BINARY/VARBINARY视为非二进制字符串。

或者,升级您的 MySQL 服务器或将结果转码为非二进制字符集:

SELECT CONVERT(MD5('test') USING utf8)
于 2013-01-18T01:14:14.297 回答