CRC32 Generador de Hash
Herramienta gratuita de CRC32 Generador de Hash en línea. Procesamiento 100% local — tus datos nunca salen de tu dispositivo.
El resultado se mostrará aquí...
Entrada → Calcular Hash
Usage Guide
Acerca de CRC32
CRC32 (Comprobación de Redundancia Cíclica, 32 bits) es un algoritmo de detección de errores basado en la división polinomial. Utiliza el polinomio CRC-32/ISO-HDLC (0xEDB88320, reflejado) para producir una suma de verificación de 32 bits (8 caracteres hexadecimales) a partir de cualquier entrada. CRC32 se usa ampliamente en archivos ZIP, tramas Ethernet, gzip y archivos PNG para detectar corrupción accidental de datos.
Pasos de uso
CRC32 es una suma de verificación unidireccional: calcula un valor fijo a partir de la entrada y no puede invertirse:
Formato de salida
CRC32 siempre produce exactamente 8 caracteres hexadecimales (32 bits / 4 bytes), independientemente de la longitud de la entrada. La misma entrada siempre produce la misma salida. Incluso un solo cambio de carácter produce una suma de verificación completamente diferente (efecto avalancha). Ejemplo: "hello" → "3610A686".
CRC32 vs. funciones hash criptográficas
CRC32 y los hashes criptográficos (SHA-256, SHA-3, BLAKE2) sirven propósitos fundamentalmente diferentes y no deben confundirse:
FAQ
Q: ¿Es CRC32 seguro para verificar la integridad de archivos?
A: No. CRC32 solo puede detectar corrupción accidental (p. ej., inversión de bits durante la transmisión). Un atacante puede crear fácilmente un archivo malicioso con el mismo CRC32 que un archivo legítimo. Para integridad de archivos crítica en seguridad, use siempre SHA-256 u hashes más fuertes, idealmente combinados con una firma digital.
Q: ¿Cómo es posible que dos entradas diferentes tengan el mismo CRC32?
A: CRC32 mapea cualquier entrada a solo 2^32 (~4 mil millones) de valores posibles, por lo que las colisiones son matemáticamente inevitables. Más críticamente, la estructura matemática lineal de CRC sobre GF(2) hace que sea trivialmente fácil fabricar colisiones a propósito: puede agregar un sufijo corto a cualquier mensaje para forzar cualquier valor CRC32 deseado en microsegundos.
Q: ¿Dónde se usa CRC32 en la práctica?
A: CRC32 se usa ampliamente en contextos no relacionados con seguridad donde importan la velocidad y la simplicidad: los archivos ZIP y gzip almacenan CRC32 para detectar errores de transmisión; Ethernet (802.3) agrega una Secuencia de Verificación de Trama (FCS) CRC32 a cada paquete; los bloques de imagen PNG incluyen CRC32; sumas de verificación de sectores de disco en muchos sistemas de archivos; verificación de flujos zlib y deflate. Todos dependen únicamente de la capacidad de CRC32 para detectar errores aleatorios, no ataques deliberados.
Q: ¿Cuál es la diferencia entre CRC32 y MD5?
A: Ambos son rápidos y producen salidas de longitud fija, pero difieren fundamentalmente: MD5 es un hash criptográfico (128 bits / 32 caracteres hex) diseñado para seguridad, aunque ahora está comprometido. CRC32 es una suma de verificación no criptográfica (32 bits / 8 caracteres hex) diseñada solo para detección de errores. CRC32 es más rápido pero tiene una resistencia a colisiones mucho más débil. Ninguno debe usarse para propósitos de seguridad hoy: prefiera SHA-256 o BLAKE2.
Q: ¿Pueden datos diferentes tener el mismo valor CRC32?
A: Sí: esto se llama colisión y es muy fácil producirla intencionalmente con CRC32. Dos archivos o cadenas completamente diferentes pueden compartir el mismo valor CRC32 de 8 caracteres. Este es un comportamiento esperado en las sumas de verificación de detección de errores y es una de las razones clave por las que CRC32 nunca debe usarse como mecanismo de seguridad.
Q: ¿Puede CRC32 usarse para hash de contraseñas?
A: Absolutamente no. CRC32 no es un hash criptográfico y no tiene ninguna de las propiedades requeridas para el hash de contraseñas: es trivialmente rápido (permite miles de millones de intentos por segundo), las colisiones son triviales de construir y no tiene soporte para salting. Use un algoritmo dedicado de hash de contraseñas como Argon2id, bcrypt o scrypt. Consulte el OWASP Password Storage Cheat Sheet para orientación.
Use Cases
Recomendado: Sumas de verificación de archivos ZIP / gzip
ZIP y gzip usan CRC32 para detectar corrupción de archivos durante el almacenamiento o transmisión. Este es el caso de uso canónico: un emisor de confianza calcula CRC32 y el receptor lo verifica para detectar errores de bits accidentales. No se asume ningún contexto adversarial.
- ✅ CRC32 para integridad interna de ZIP/gzip (conforme a estándares)
- ✅ CRC32 para verificación de bloques PNG
- ✅ CRC32 para validación de flujos gzip/zlib
- ❌ No confiar en CRC32 para detectar manipulación intencional de archivos
Recomendado: Detección de errores en paquetes de red
Ethernet (IEEE 802.3) adjunta una Secuencia de Verificación de Trama CRC de 32 bits a cada trama. El hardware la calcula y verifica a velocidad de línea. CRC32 es excelente aquí porque los errores son aleatorios (ruido), no adversariales, y la velocidad es crítica.
- ✅ CRC32 / CRC-32C para validación de paquetes Ethernet, iSCSI, SCTP
- ✅ CRC32 para detección de errores en comunicación serie/UART
- ❌ No apropiado para asegurar comunicaciones de red: use TLS/HMAC
Recomendado: Validación de datos en sistemas embebidos
Los microcontroladores y el firmware embebido usan CRC32 para verificar el contenido de la memoria flash, la integridad de los datos EEPROM y la corrección de imágenes de arranque. Las unidades CRC de hardware (p. ej., periférico CRC de STM32) lo calculan en un ciclo de reloj por byte.
- ✅ CRC32 para validación de imagen de firmware (verificación de arranque no segura)
- ✅ CRC32 para integridad de datos EEPROM / NVM
- ✅ CRC32 para encuadre de protocolos de comunicación
- ❌ Para arranque seguro, combinar con firma criptográfica (ECDSA/RSA)
Aceptable: Deduplicación de datos no sensible a la seguridad
CRC32 puede usarse como un filtro rápido de primera pasada para agrupar datos por suma de verificación y encontrar posibles duplicados, siempre que se toleren las colisiones (p. ej., una comparación secundaria confirma la igualdad). No use CRC32 solo como única clave de deduplicación en almacenamiento sensible a la seguridad.
- ✅ CRC32 como prefiltro rápido antes de la comparación byte a byte
- ⚠️ CRC32 solo como clave de deduplicación (riesgo de colisión ~1 en 4 mil millones)
- ❌ CRC32 para almacenamiento direccionado por contenido con requisitos de seguridad
- 💡 Considere BLAKE2 o SHA-256 para deduplicación con garantías de integridad
No recomendado: Cualquier propósito de seguridad
CRC32 nunca debe usarse para autenticación, protección de integridad contra atacantes, hash de contraseñas, firmas digitales o huellas de contenido en contextos de seguridad. Use SHA-256, SHA-3 o BLAKE2 para cualquier hash sensible a la seguridad.
- ❌ CRC32 para hash de contraseñas
- ❌ CRC32 para firmas digitales o MACs
- ❌ CRC32 para tokens de autenticación de API
- ❌ CRC32 para verificación de integridad de archivos crítica en seguridad
- ✅ SHA-256 / SHA-3 / BLAKE2 para todos los casos de uso de seguridad
Resumen de mejores prácticas
- CRC32 es apropiado solo para detectar corrupción accidental de datos en contextos de confianza y no adversariales.
- CRC32 no ofrece ninguna seguridad: las colisiones se pueden fabricar trivialmente y no tiene propiedades criptográficas.
- Para cualquier caso de uso de seguridad (autenticación, integridad, firmas, contraseñas), use SHA-256, SHA-3 o BLAKE2.
- CRC32 es la elección correcta dentro de ZIP, gzip, PNG, Ethernet y firmware embebido: ese es su alcance diseñado.
- Ante la duda, use SHA-256 por defecto: es rápido, universalmente compatible y criptográficamente seguro.