Paste any BCrypt hash to visually decode its every segment β version, cost factor, salt and digest β with color-coded annotations, timing analysis and deep-dive educational content.
A BCrypt hash is always exactly
60 characters
: 4-char prefix (
$2b$
), 2-digit cost,
$
separator, 22-char Base64 salt, 31-char Base64 digest. No separators between salt and digest β the split is positional at character 29 from the cost
$
.
BCrypt silently truncates passwords to 72 bytes. "password123456β¦" (73+ chars) hashes identically to the first 72 chars. Mitigation: pre-hash with SHA-256/512 before BCrypt, or use Argon2/scrypt. Some libraries (like bcryptjs) warn about this.
BCrypt uses a custom Base64 alphabet:
./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
β not the standard RFC 4648 alphabet. The output is
not
decodable with standard
atob()
or standard Base64 libraries without remapping.
SHA-256 runs at billions of hashes per second on modern GPUs (A100: ~100 GH/s). A BCrypt cost 12 hash takes ~250ms β roughly 25 billion times slower. An attacker cracking SHA-256 in 1 second would need 25 billion seconds (>790 years) with BCrypt cost 12.