在 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中文网其他相关文章!