Blowfish es un cifrado simétrico por bloques de 64 bits con una clave variable de 32 a 448 bits. Se utiliza la misma clave para cifrar y descifrar. Esta herramienta admite los modos CBC y ECB y aplica relleno PKCS#7.
bcrypt utiliza una construcción derivada llamada EksBlowfish para ralentizar la verificación de contraseñas. Un hash bcrypt no es un texto cifrado Blowfish y no puede descifrarse. La página de bcrypt sigue dedicada a la generación y verificación de contraseñas.
Hoy Blowfish resulta útil sobre todo para compatibilidad con sistemas heredados y para aprendizaje. Su tamaño de bloque de 64 bits lo hace menos adecuado para grandes volúmenes de datos. Las aplicaciones nuevas deben utilizar un cifrado autenticado moderno ofrecido por su plataforma, como AES-GCM o ChaCha20-Poly1305.
Blowfish utiliza bloques de 8 bytes. Por tanto, un IV CBC debe contener exactamente 8 bytes, es decir, 16 caracteres hexadecimales.
Probablemente no coincidan la clave, el IV, el modo o el texto cifrado. Los datos dañados producen el mismo síntoma.
ECB se incluye para pruebas de compatibilidad y vectores conocidos. No oculta los bloques repetidos.
Blowfish es un cifrado simétrico antiguo con bloques de 64 bits. Esta página cifra y descifra en modo CBC o ECB con una clave de 4 a 56 bytes.
Sigue siendo útil por compatibilidad con sistemas antiguos, pero su bloque de 64 bits limita los diseños nuevos. En general se prefieren AES o ChaCha20-Poly1305.
El IV hace que el primer bloque sea diferente cuando la misma clave cifra varios mensajes. Debe ser único e impredecible para cada cifrado.
ECB revela las repeticiones entre bloques idénticos y no debe utilizarse para proteger datos estructurados.