bcrypt的模块化crypt格式包括
$2$
,$2a$
或$2y$
识别哈希算法和格式- 表示费用参数的两位数字值,后跟
$
- 一个53字符长的基64编码的值(它们使用的字母表
.
,/
,0
-9
,A
-Z
,a
-z
也就是不同的标准base 64编码字母表)由以下组成:- 盐的22个字符(有效地是132个解码位中的128个位)
- 31个字符的加密输出(实际上只有186个解码位中的184位)
因此,总长度分别为59或60个字节。
使用2a格式时,需要60个字节。因而对于MySQL的,我会建议使用
CHAr(60)BINARY或
BINARY(60)(见的 __bin_ 和 二进制
排序规则有关的差异信息)。
CHAR不是二进制安全的,相等性不仅仅取决于字节值,还取决于实际的排序规则;在最坏的情况下
A被视为等于
a。见的
_bin和
binary排序规则以获取更多信息。



