search

Found

info Descripción

Calcula a la vez el CRC-32 IEEE 802.3 y el CRC-32C Castagnoli desde un texto o bytes hexadecimales, mostrados en hex y decimal junto al tamaño en bytes.

📘 Cómo usar

  1. Pega texto o cambia al modo de bytes hexadecimales.
  2. Lee los resultados IEEE 802.3 y Castagnoli en hex y decimal.
  3. Compara el valor con el checksum que espera tu protocolo o formato.

Calculadora de checksum CRC-32 y CRC-32C

Calcula el CRC-32 sobre los bytes UTF-8 del texto introducido.

CRC-32 (IEEE 802.3)
poly 0xEDB88320
Decimal:
CRC-32C (Castagnoli)
poly 0x82F63B78
Decimal:
Bytes de entrada
0 bytes
Estado
¡Copiado!

※ Implementación por tabla (256 entradas precalculadas) para los polinomios IEEE 802.3 y Castagnoli.

※ El CRC es un código de detección de errores, no un hash criptográfico. Usa SHA-256 para integridad o firmas.

Article

Calculadora de checksum CRC-32 y CRC-32C | Dos polinomios en una entrada

Calcula el CRC-32 IEEE 802.3 y el CRC-32C Castagnoli desde un único texto o bytes hexadecimales, lado a lado en hex y decimal. Pensada para el momento en que tienes un checksum delante y necesitas saber qué polinomio lo generó.

💡 Sobre esta herramienta

La mayoría de las calculadoras CRC en línea asumen un solo polinomio en silencio, y ahí está el problema: "CRC-32" no es un único número. La variante clásica IEEE 802.3 (polinomio reflejado 0xEDB88320) es la que usan zip, gzip, PNG y las tramas Ethernet. El CRC-32C de Castagnoli (0x82F63B78) es otra cosa: está integrado en SCTP, iSCSI, Btrfs y los metadatos de ext4, en parte porque las CPU modernas lo calculan con una instrucción dedicada.

Cuando un depurador muestra un checksum almacenado y tu código no coincide, la causa habitual es una confusión de polinomio. Esta calculadora muestra ambos a la vez para que compares el valor desconocido con el correcto sin rehacer tu cadena de herramientas. Cambia al modo bytes hex para introducir los bytes crudos tal como aparecen en una captura de paquetes o un editor hexadecimal; se admiten prefijos 0x, espacios, comas y dos puntos.

🧐 Preguntas frecuentes

Q. ¿Qué diferencia hay entre CRC-32 y CRC-32C? A. Usan polinomios generadores distintos. El IEEE 802.3 CRC-32 emplea 0xEDB88320 (reflejado) y aparece en zip, gzip y PNG. El CRC-32C usa el 0x82F63B78 de Castagnoli, con mejor detección de errores y aceleración por hardware en x86 mediante la instrucción crc32.

Q. Mi checksum no coincide con el del archivo. ¿Por qué? A. Además del polinomio, las variantes CRC difieren en la reflexión de bits, el valor inicial y el XOR final. Esta herramienta usa los parámetros estándar: inicial 0xFFFFFFFF, entrada y salida reflejadas, XOR final 0xFFFFFFFF. Si un formato usa otros parámetros, el resultado cambia aunque el polinomio sea el mismo.

Q. ¿Cómo verifico que el cálculo es correcto? A. La cadena de prueba 123456789 da 0xCBF43926 para IEEE CRC-32 y 0xE3069283 para CRC-32C. Son los valores de referencia publicados, así que puedes confirmar la herramienta antes de confiar en ella con tus datos.

Q. ¿Por qué la entrada vacía muestra 00000000? A. Con el valor inicial y el XOR final estándar, el CRC de cero bytes se cancela y queda en 0x00000000. Es el resultado correcto, no un fallo.

📚 Datos curiosos

La elección de CRC-32C para SCTP e iSCSI no fue casual. La búsqueda que Guy Castagnoli realizó en 1993 ordenó los polinomios por distancia de Hamming, el número mínimo de errores de bit que pueden pasar sin detectarse. Su polinomio capta más patrones de error en longitudes de mensaje comunes que el clásico de IEEE. Años después Intel añadió una instrucción SSE4.2 para ejecutar ese polinomio por hardware, razón por la que los sistemas de archivos diseñados en esta década prefieren la variante "C" mientras tu archivo zip aún lleva el original.