简体中文 Tiếng Việt 日本語 한국어 हिन्दी Español Français العربية বাংলা Português Русский اردو Bahasa Indonesia Deutsch Naijá मराठी తెలుగు Türkçe தமிழ்
// checksum utility
CRC32Herramienta de suma de comprobación
SÓLO DEL LADO DEL CLIENTE
NO SE TRANSMITIERON DATOS
🔵Todos los cálculos se ejecutanlocalmente en su navegador. No se cargan datos en ningún servidor. Admite las variantes CRC-32/ISO-HDLC, CRC-32C, CRC-32/MPEG-2 y CRC-32/BZIP2.
Configuración de cálculo
Variante CRC ↗
Codificación de entrada ↗
Formato de salida ↗
Datos de entrada
Suelte un archivo aquí
Listo: ingrese los datos y haga clic en "Calcular CRC32"
Resultados del cálculo
ISO-HDLC
Castagnoli
MPEG-2
BZIP2
Verificación de suma de verificación
Pegue un valor CRC32 esperado para compararlo con el cálculo actual.
Bytes de entrada
0
Cálculos totales
0
Variante actual
ISO-HDLC
Transcurrido (ms)
// CRC32 Variant Guide
Variantes CRC
CRC-32 / ISO-HDLCPKZip · PNG · Ethernet
La implementación CRC-32 más común, también llamada CRC-32b. Utiliza la forma reflejada del polinomio 0x04C11DB7, es decir, 0xEDB88320. Tanto los bytes de entrada como los de salida se reflejan en bits (LSB primero), con el valor inicial y el XOR final establecidos en 0xFFFFFFFF.

Ampliamente utilizado por ZIP, gzip, imágenes PNG, tramas Ethernet (IEEE 802.3), PKCS#7 y muchos sistemas heredados. Esta es la variante de facto "CRC-32 predeterminada".
Polinomio0x04C11DB7(normal) /0xEDB88320(reflejado)
Valor inicial0xFFFFFFFF
Reflexión de entradaSí (RefIn = verdadero)
Reflexión de salidaSí (RefOut = verdadero)
XOR final0xFFFFFFFF
Verificar valor0xCBF43926(para "123456789")
CRC-32C / CastagnoliiSCSI · NVMe · SCTP
Propuesta por G. Castagnoli y colegas en 1993, esta variante utiliza el polinomio 0x1EDC6F41 (forma reflejada 0x82F63B78). A la misma distancia de Hamming, ofrece una detección de errores en ráfaga más potente que el polinomio ISO-HDLC.

La aceleración de hardware está disponible a través de las instrucciones Intel SSE4.2 y ARM CRC32. Se utiliza ampliamente en protocolos de transporte y almacenamiento modernos como iSCSI, NVMe, Btrfs y SCTP.
Polinomio0x1EDC6F41(normal) /0x82F63B78(reflejado)
Valor inicial0xFFFFFFFF
Reflexión de entradaSí (RefIn = verdadero)
Reflexión de salidaSí (RefOut = verdadero)
XOR final0xFFFFFFFF
Verificar valor0xE3069283(para "123456789")
CRC-32/MPEG-2MPEG-2 · DVB · ATSC
Utiliza el mismo polinomio 0x04C11DB7 que ISO-HDLC, pero ni la entrada ni la salida sonbit reflejado(MSB primero, big-endian). El valor inicial es 0xFFFFFFFF y el XOR final está deshabilitado (XorOut = 0x00000000).

Se utiliza principalmente para tablas PSI/SI en flujos de transporte MPEG-2 (PAT, PMT, NIT y tablas relacionadas), además de comprobaciones de integridad en sistemas de transmisión DVB y ATSC.
Polinomio0x04C11DB7
Valor inicial0xFFFFFFFF
Reflexión de entradaNo (RefIn = falso)
Reflexión de salidaNo (RefOut = falso)
XOR final0x00000000(deshabilitado)
Verificar valor0x0376E6E7(para "123456789")
CRC-32 / BZIP2BZip2 · AAL5 · DECT
Sus parámetros son casi idénticos a MPEG-2 (polinomio 0x04C11DB7, sin reflexión, valor inicial 0xFFFFFFFF). La única diferencia es unaXOR final con 0xFFFFFFFF, que cambia cada bit. También se conoce como CRC-32/AAL5 o CRC-32/DECT-B.

Utilizado por el formato de archivo comprimido BZip2 y el campo de suma de comprobación final del protocolo ATM AAL5.
Polinomio0x04C11DB7
Valor inicial0xFFFFFFFF
Reflexión de entradaNo (RefIn = falso)
Reflexión de salidaNo (RefOut = falso)
XOR final0xFFFFFFFF
Verificar valor0xFC891918(para "123456789")
// Input Encoding Guide
Codificación de entrada
UTF-8 TextoPredeterminado · General
Trata la entrada como unUTF-8string, lo convierte a bytes y luego calcula CRC32. Este es el modo más común para texto sin formato, código fuente, JSON y contenido similar.

Nota: el mismo texto codificado con un juego de caracteres diferente, como GBK o UTF-16, produce un flujo de bytes diferente y, por lo tanto, un valor CRC32 diferente. Esta herramienta siempre utiliza UTF-8.
Mejor paraTexto sin formato, código fuente, JSON, XML
Ejemplo"Hola" →48 65 6C 6C 6F(5 bytes)
CJK CaracteresLa mayoría de los caracteres CJK usan 3 bytes en UTF-8
HexadecimalDatos binarios · Marcos de protocolo
Trata la entrada como sin formatoliterales de bytes hexadecimales. Se ignoran los espacios y los saltos de línea. Cada dos caracteres hexadecimales se convierten en un byte (00–FF).

Útil cuando necesita comprobaciones CRC para datos binarios exactos, como marcos de red, fragmentos de imágenes de firmware o volcados de memoria. Puede pegar la salida de Wireshark o del volcado hexadecimal directamente.
FormatoSolo0-9ya-f / A-Festán permitidos
Recuento de caracteresDebe ser par (2 caracteres por byte)
Ejemplo48656C6C6F= "Hola" (5 bytes)
Espacio en blancoSe ignora automáticamente.48 65 6Ces lo mismo que48656C
Base64Binario codificado · Certificados · Imágenes
Trata la entrada como unCadena codificada en Base64, lo decodifica en bytes sin formato y luego calcula CRC32. Útil para certificados PEM, cargas útiles JWT, URI de datos y otro contenido Base64.

Admite el alfabeto Base64 estándar (A-Z a-z 0-9 + /). El personaje de relleno=es opcional. Base64 seguro para URL (-_) no es compatible.
AlfabetoA-Z a-z 0-9 + / =
EjemploSGVsbG8=→ "Hola" (5 bytes)
URL seguroNo compatible. Reemplazar-→+y_→/primero
⚠ 1 carácterNo válido: 6 bits no son suficientes para formar 1 byte (se requieren 8 bits)
2 CaracteresDecodifica a1 byte(entrada mínima válida)
3 CaracteresDecodifica a2 bytes
4 CaracteresDecodifica a3 bytes(el patrón se repite cada 4 caracteres)
// Output Format Guide
Formato de salida
HexadecimalMás común · Predeterminado
Muestra el valor como un número hexadecimal en mayúscula de 8 dígitos con el prefijo0x. Cada carácter representa 4 bits, para un total de 32 bits. Este es el formato estándar utilizado en la mayoría de las herramientas, código fuente y documentación.

En comparación con la salida decimal, el formato hexadecimal facilita la inspección de los límites de bytes y hace coincidir los volcados de memoria y los campos de protocolo de forma más natural.
Ejemplo0xCBF43926
Longitud8 caracteres hexadecimales = 32 bits
BaseBase 16 (0-9, A-F)
Mejor paraCódigo, documentación, Wireshark, editores hexadecimales
DecimalEntero de 32 bits sin signo
Muestra la suma de verificación como unentero decimal de 32 bits sin signoen el rango 0–4,294,967,295 (2³²−1). Algunos lenguajes y herramientas comparan valores CRC en forma decimal y los campos de la base de datos suelen almacenar esta representación.

Nota: Los resultados de CRC32 deben tratarse como enteros sin signo. En tipos int con signo como Java o C#, los valores superiores a 0x7FFFFFFF pueden parecer negativos y deben convertirse a uint o a una representación sin signo más amplia.
Ejemplo3421780262
Rango0–4,294,967,295
NotaPara Java int, convertir con& 0xFFFFFFFFL
Mejor paraBases de datos, valores de estructura de Python, comparación numérica
BinarioAnálisis de nivel de bits
Muestra la suma de comprobación como una cadena binaria de 32 bits con el prefijo0b. Cada carácter es 0 o 1, está alineado con el bit más significativo de la izquierda y se completa con ceros a la izquierda cuando es necesario.

Principalmente útil para comprender el algoritmo CRC interno, estudiar la división polinomial, enseñar y escenarios integrados que necesitan procesamiento de suma de comprobación a nivel de bits.
Ejemplo0b11001011…00100110
LongitudFijo en 32 bits con relleno de ceros a la izquierda
Bit más altoEl bit 31 (MSB) aparece en el extremo izquierdo
Mejor paraAnálisis de algoritmos, enseñanza, depuración integrada
OctalUnix · Sistemas de archivos
Muestra la suma de verificación como un número octal de 11 dígitos con el prefijo0o. Se necesitan como máximo 11 caracteres octales para 32 bits porque 3×11 = 33 > 32. Cada dígito octal representa 3 bits.

La salida octal es poco común en los flujos de trabajo CRC modernos, pero todavía aparece en algunas herramientas Unix, cadenas de herramientas de firmware integradas y especificaciones de protocolos de comunicación más antiguos.
Ejemplo0o31572031046
LongitudHasta 11 dígitos octales
Por dígitoRepresenta 3 bits (0-7)
Mejor paraHerramientas Unix, especificaciones de protocolo más antiguas