首页 > 数据库 > mysql教程 > 在 MySQL 中存储 SHA1 哈希值:BINARY(20) 还是 VARCHAR(40)?

在 MySQL 中存储 SHA1 哈希值:BINARY(20) 还是 VARCHAR(40)?

Mary-Kate Olsen
发布: 2024-11-20 20:11:18
原创
771 人浏览过

 Storing SHA1 Hashes in MySQL: BINARY(20) or VARCHAR(40)?

在 MySQL 中存储 SHA1 哈希值:VARCHAR 字段应该有多长?

在 MySQL 中存储 SHA1 哈希结果时对于数据库,确定 VARCHAR 字段的适当长度非常重要。 SHA1 值的长度为 160 位,因此应将其存储在可以容纳此长度的字段中。

本文反对使用 VARCHAR 字段来存储 SHA1 哈希值,因为它浪费了长度的额外字节的固定长度字段。相反,它建议使用 BINARY(20) 字段,该字段长度为 20 个字符,可以存储 160 位 SHA1 值,而不浪费空间。

此外,文章建议使用 UNHEX 函数来转换 SHA1将值存储到 BINARY 字段之前将其转换为二进制。与存储原始 SHA1 值相比,这减少了存储要求。

本文通过比较 BINARY(20) 和 CHAR(40) 字段的存储要求得出结论。对于一百万条记录,使用 InnoDB 引擎时,BINARY(20) 需要的空间比 CHAR(40) 少。

以上是在 MySQL 中存储 SHA1 哈希值:BINARY(20) 还是 VARCHAR(40)?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板