Модулният криптен формат за bcrypt се състои от
$2$,$2a$или$2y$идентифициране на алгоритъм и формат за хеширане- двуцифрена стойност, обозначаваща параметъра на разходите, последвана от
$ - 53 знака, кодирана от база 64 стойност (те използват азбуката
.,/,0–9,A–Z,a–zтова е различно от стандартното кодиране Base 64 азбука), състояща се от:- 22 знака сол (на практика само 128 бита от 132 декодирани бита)
- 31 знака на криптиран изход (ефективно само 184 бита от 186 декодирани бита)
Така общата дължина е съответно 59 или 60 байта.
Тъй като използвате формат 2a, ще ви трябват 60 байта. И по този начин за MySQL ще препоръчам да използвате CHAR(60) BINARY или BINARY(60)
(вижте _bin и двоичен Съпоставяния
за информация относно разликата).
CHAR не е двоично безопасен и равенството не зависи само от стойността на байта, а от действителното съпоставяне; в най-лошия случай A се третира като равно на a . Вижте _bin и binary Колекции
за повече информация.