CoderTools

Calculadora CRC

Calcule varias sumas de comprobación CRC con soporte para texto, hexadecimal y archivos

Ingrese texto UTF-8, se convertirá a bytes

Sobre el algoritmo CRC

La Comprobación de Redundancia Cíclica (CRC) es un código robusto de detección de errores utilizado comúnmente en redes digitales y almacenamiento para detectar cambios accidentales en los datos.

Al recuperar los datos, se repite el cálculo y si los valores no coinciden, se detecta la corrupción. CRC es fácil de implementar en hardware y excelente para detectar errores de ruido.

Perfiles CRC soportados

Esta herramienta implementa una amplia gama de algoritmos CRC estándar utilizados en protocolos industriales y de red.

Algoritmo Ancho Polinomio Uso
CRC-88 bit0x07Verificación de datos simple, sensores
CRC-16/Modbus16 bit0x8005Protocolo Modbus, industrial
CRC-16/CCITT16 bit0x1021X.25, HDLC, Bluetooth
CRC-3232 bit0x04C11DB7ZIP, Ethernet, PNG
CRC-32C32 bit0x1EDC6F41iSCSI, SCTP, Btrfs
CRC-64/ECMA64 bit0x42F0E1EBA9EA3693ECMA-182, compresión XZ

Casos de uso comunes

Verificación de paquetes de red (tramas Ethernet)
Verificación de integridad de archivos (ZIP, PNG)
Protocolos de comunicación industrial (Modbus RTU)
Verificación de datos en sistemas de almacenamiento
Transmisión de datos en sistemas embebidos
Verificación de firmware y cargadores de arranque

Preguntas frecuentes

¿Qué es CRC y en qué se diferencia de un hash criptográfico?

CRC (Verificación de Redundancia Cíclica) es un algoritmo de suma de verificación diseñado para detectar errores de bits accidentales durante la transmisión o almacenamiento de datos. A diferencia de los hashes criptográficos como SHA-256, CRC no está diseñado para resistir manipulaciones intencionales. Use CRC para detección de errores en protocolos de comunicación; use un hash criptográfico para verificación de integridad cuando la seguridad es importante.

¿Qué variante de CRC debo elegir según mi caso de uso?

CRC-32 (ISO 3309) se usa ampliamente en Ethernet, ZIP y PNG. CRC-16/MODBUS es estándar para protocolos industriales. CRC-16/CCITT es adecuado para comunicaciones serie. CRC-8 funciona para mensajes cortos en sistemas embebidos. Si una especificación de protocolo define un polinomio y valor inicial específicos, respétalos exactamente.

¿Por qué mi resultado CRC difiere del valor esperado?

Los resultados CRC dependen de cuatro parámetros: polinomio, valor inicial, reflexión de entrada/salida y XOR final. Un desajuste en cualquiera de ellos produce un resultado diferente. También verifique si la entrada está codificada como UTF-8, ASCII o bytes sin procesar — la misma cadena de texto puede producir secuencias de bytes diferentes y por tanto valores CRC distintos.

¿Cuál es la diferencia entre CRC-16/MODBUS y CRC-16/CCITT?

Ambas son CRC de 16 bits con diferentes polinomios y valores iniciales. CRC-16/MODBUS usa el polinomio 0x8005, valor inicial 0xFFFF, con reflexión en entrada y salida. CRC-16/CCITT (también llamado CRC-CCITT o CRC-16-IBM) usa el polinomio 0x1021, valor inicial 0xFFFF. Producen salidas completamente diferentes para los mismos datos.

¿Puedo calcular CRC para un archivo binario, no solo texto?

Sí — pegue los bytes hexadecimales de sus datos binarios usando el formato de entrada hexadecimal. La herramienta procesa los valores de bytes sin procesar independientemente de si representan caracteres imprimibles. Para archivos binarios muy grandes, herramientas de línea de comandos como cksum o binascii.crc32() de Python son más prácticas.

Menú Rápido

Sin herramientas recientes