Inicio › Herramientas para desarrolladores › Calculadora de checksum CRC32

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:

CRC-32 (IEEE 802.3)
–
AlgoritmoChecksumParámetrosCopiar
Publicidad

Cómo usar Calculadora de checksum CRC32

  1. Elige Texto o Archivo en la parte superior.
  2. Para texto, escríbelo o pégalo. Cambia a Bytes hex si quieres calcular el checksum de bytes sin procesar como 31 32 33.
  3. 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.
  4. Elige el formato de salida: hexadecimal (con mayúsculas y prefijo 0x opcionales) o decimal.
  5. 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.

AlgoritmoAnchoPolinomioInicialReflejadoXOR finalComprobación
CRC-32320x04C11DB70xFFFFFFFFSí0xFFFFFFFFCBF43926
CRC-32C320x1EDC6F410xFFFFFFFFSí0xFFFFFFFFE3069283
CRC-16/CCITT-FALSE160x10210xFFFFNo0x000029B1
CRC-16/ARC160x80050x0000Sí0x0000BB3D
CRC-16/MODBUS160x80050xFFFFSí0x00004B37
Adler-3232A = 1 + Σ bytes, B = Σ A (ambos mod 65521), resultado = B·65536 + A091E01DE

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:

  1. Empieza con crc = 0xFFFFFFFF.
  2. 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.
  3. 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

ChecksumSe usa en
CRC-32ZIP, gzip, bloques PNG, tramas Ethernet, 7-Zip y muchos checksums de descargas (archivos .sfv)
CRC-32CiSCSI, SCTP, metadatos de ext4 y Btrfs, checksums de objetos de Google Cloud Storage y AWS S3
CRC-16/CCITT-FALSEProtocolos de telecomunicaciones y sistemas embebidos, algunos bootloaders y tarjetas inteligentes
CRC-16/MODBUSTramas Modbus RTU en líneas serie RS-485
CRC-16/ARCArchivos ARC y LHA y otros formatos heredados
Adler-32Flujos 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.

Herramientas relacionadas

Ver todas las de Codificadores, hashes y criptografía →