Calculadora de checksum CRC32
Escribe un texto o elige un archivo para calcular su CRC-32, además de CRC-32C, tres variantes comunes de CRC-16 y Adler-32 de una sola vez. Los archivos grandes se leen por bloques con una barra de progreso, y no se sube nada.
Última actualización:
–| Algoritmo | Checksum | Parámetros | Copiar |
|---|
Cómo usar Calculadora de checksum CRC32
- Elige Texto o Archivo en la parte superior.
- Para texto, escríbelo o pégalo. Cambia a Bytes hex si quieres calcular el checksum de bytes sin procesar como
31 32 33. - Para un archivo, haz clic en el área de carga o arrastra un archivo sobre ella. Una barra de progreso muestra cuánto se ha leído.
- Elige el formato de salida: hexadecimal (con mayúsculas y prefijo 0x opcionales) o decimal.
- Pulsa Calcular checksum (el texto se actualiza automáticamente) y copia el valor que necesites, o usa Copiar todo.
Parámetros CRC y valores de comprobación
Cada variante de CRC se define por su ancho, su polinomio, su valor inicial, si los bits de entrada y salida se reflejan, y un valor XOR final. La columna “Comprobación” es el resultado para la cadena ASCII 123456789, que puedes usar para confirmar cualquier implementación.
| Algoritmo | Ancho | Polinomio | Inicial | Reflejado | XOR final | Comprobación |
|---|---|---|---|---|---|---|
| CRC-32 | 32 | 0x04C11DB7 | 0xFFFFFFFF | Sí | 0xFFFFFFFF | CBF43926 |
| CRC-32C | 32 | 0x1EDC6F41 | 0xFFFFFFFF | Sí | 0xFFFFFFFF | E3069283 |
| CRC-16/CCITT-FALSE | 16 | 0x1021 | 0xFFFF | No | 0x0000 | 29B1 |
| CRC-16/ARC | 16 | 0x8005 | 0x0000 | Sí | 0x0000 | BB3D |
| CRC-16/MODBUS | 16 | 0x8005 | 0xFFFF | Sí | 0x0000 | 4B37 |
| Adler-32 | 32 | A = 1 + Σ bytes, B = Σ A (ambos mod 65521), resultado = B·65536 + A | 091E01DE | |||
Cómo se calcula el CRC-32
CRC-32 trata los datos como un número binario largo y lo divide entre el polinomio generador usando XOR en lugar de resta; el resto de 32 bits es el checksum. En la práctica se calcula byte a byte con una tabla de consulta de 256 entradas:
- Empieza con
crc = 0xFFFFFFFF. - Para cada byte
b:crc = table[(crc XOR b) AND 0xFF] XOR (crc >> 8), donde la tabla contiene el polinomio reflejado 0xEDB88320 aplicado a cada valor de byte posible. - Al final, invierte todos los bits:
crc XOR 0xFFFFFFFF.
Por ejemplo, la letra a sola (byte 0x61) da el CRC-32 E8B7BE43, y la entrada vacía da 00000000.
Dónde se usa cada checksum
| Checksum | Se usa en |
|---|---|
| CRC-32 | ZIP, gzip, bloques PNG, tramas Ethernet, 7-Zip y muchos checksums de descargas (archivos .sfv) |
| CRC-32C | iSCSI, SCTP, metadatos de ext4 y Btrfs, checksums de objetos de Google Cloud Storage y AWS S3 |
| CRC-16/CCITT-FALSE | Protocolos de telecomunicaciones y sistemas embebidos, algunos bootloaders y tarjetas inteligentes |
| CRC-16/MODBUS | Tramas Modbus RTU en líneas serie RS-485 |
| CRC-16/ARC | Archivos ARC y LHA y otros formatos heredados |
| Adler-32 | Flujos zlib (dentro de imágenes PNG y datos FlateDecode de PDF); rsync usa una variante móvil |
Preguntas frecuentes
¿Qué es un checksum CRC32?
CRC-32 es una verificación de redundancia cíclica de 32 bits: un valor corto calculado a partir de los datos mediante división polinómica. Si cambia aunque sea un bit de los datos, el CRC casi con seguridad cambia, por eso se usa para detectar corrupción accidental en archivos ZIP, imágenes PNG, tramas de red y descargas.
¿Cuál es el CRC-32 de "123456789"?
El valor de comprobación estándar de CRC-32 para la cadena ASCII 123456789 es CBF43926 (decimal 3421780262). CRC-32C da E3069283, CRC-16/CCITT-FALSE 29B1, CRC-16/ARC BB3D, CRC-16/MODBUS 4B37 y Adler-32 091E01DE. Pulsa el botón “Usar cadena de comprobación” para verlos.
¿Cuál es la diferencia entre CRC-32 y CRC-32C?
Usan polinomios diferentes. CRC-32 (0x04C11DB7) es el clásico de Ethernet, ZIP y PNG. CRC-32C (Castagnoli, 0x1EDC6F41) detecta más patrones de error y tiene una instrucción de CPU dedicada, por eso lo usan iSCSI, SCTP, ext4, Btrfs y las API de almacenamiento en la nube.
¿Qué CRC-16 necesito?
Depende del protocolo. Modbus RTU usa CRC-16/MODBUS (envía primero el byte bajo). CRC-16/CCITT-FALSE es común en protocolos de telecomunicaciones y sistemas embebidos, y CRC-16/ARC (también llamado CRC-16/IBM) aparece en formatos antiguos de almacenamiento y serie. Consulta la documentación de tu protocolo para conocer el polinomio y el valor inicial.
¿CRC32 es un hash seguro?
No. Un CRC detecta errores accidentales, pero es fácil de falsificar a propósito. Para comprobar que un archivo no ha sido manipulado, usa en su lugar un hash criptográfico como SHA-256.
¿Por qué obtengo un CRC32 diferente para el mismo texto en otro sitio?
Normalmente los bytes son distintos: otra codificación distinta de UTF-8, un salto de línea final o finales de línea de Windows (CRLF en lugar de LF). Algunas herramientas también muestran el valor en decimal, en orden de bytes little-endian o sin ceros a la izquierda.
¿Puedo calcular el checksum de archivos muy grandes?
Sí. El archivo se lee en bloques de 4 MB directamente desde tu disco, así que funcionan incluso archivos de varios gigabytes; la velocidad depende de tu dispositivo. El archivo nunca se sube.
¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?
Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.