Modulární formát crypt pro bcrypt se skládá z
$2$,$2a$nebo$2y$identifikace hašovacího algoritmu a formátu- dvoumístná hodnota označující parametr cost, za kterou následuje
$ - hodnota 53 znaků dlouhá base-64 (používají abecedu
.,/,0–9,A–Z,a–zkteré se liší od standardního kódování Base 64 abeceda) sestávající z:- 22 znaků soli (ve skutečnosti pouze 128 bitů ze 132 dekódovaných bitů)
- 31 znaků šifrovaného výstupu (ve skutečnosti pouze 184 bitů ze 186 dekódovaných bitů)
Celková délka je tedy 59 nebo 60 bajtů.
Při použití formátu 2a budete potřebovat 60 bajtů. A proto pro MySQL doporučuji použít CHAR(60) BINARY nebo BINARY(60)
(viz _bin a binární Porovnání
pro informaci o rozdílu).
CHAR není binárně bezpečný a rovnost nezávisí pouze na hodnotě bytu, ale na skutečném řazení; v nejhorším případě A je považováno za rovné a . Viz _bin a binary Porovnání
pro více informací.