首页 >数据库 >mysql教程 >Bcrypt 哈希密码应使用什么数据库列类型和长度?

Bcrypt 哈希密码应使用什么数据库列类型和长度?

Susan Sarandon
Susan Sarandon原创
2024-12-14 10:12:12652浏览

What Database Column Type and Length Should I Use for Bcrypt Hashed Passwords?

存储 Bcrypt 哈希密码的数据库列类型和长度

在数据库中存储 Bcrypt 哈希密码时,选择合适的列至关重要输入并确保正确的长度以保证数据完整性。

列输入

根据 Bcrypt 的模块化加密格式,哈希值由 60 个字节组成。因此,对于 MySQL,推荐的列类型是 CHAR(60) BINARYBINARY(60)。这可确保该列:

  • 二进制安全:将哈希值存储为二进制字符串,无需任何字符转换。
  • 固定长度: 保持所有存储的长度一致密码。

列长度

Bcrypt 密码始终为 60 个字符长,无论使用 $2a$ 还是 $2y$ 格式。这是因为 Bcrypt 生成一个固定长度的哈希,其中包含:

  • 22 个字符的盐
  • 31 个加密输出字符

数据库实现

如果您使用 jBCrypt 进行密码散列,则 Bcrypt哈希值的长度为 60 个字符。

以上是Bcrypt 哈希密码应使用什么数据库列类型和长度?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn