CalcOpenly
Español

Generador de hashes y calculadora de sumas de comprobación: MD5 y SHA-256

Genera hashes MD5, SHA-1, SHA-256, SHA-512 y CRC-32 de cualquier texto, compáralos con una suma de comprobación publicada y observa el efecto avalancha.

Redactado con herramientas de redacción con IAActualizado Ejemplos verificados: 11

Se calcula sobre bytes UTF-8. Cada salto de línea cuenta como un único LF ( ).
Más opciones
Reproduce `echo text | sha256sum`, que procesa el texto seguido de un salto de línea.
Probar
Resumen hash
d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592
Resumen hash: d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592
MD5
9e107d9d372bb6826bd81d3542a419d6
SHA-1
2fd4e1c67a2d28fced849ee1bb76e7391b93eb12
SHA-512
07e547d9586f6a73f73fbac0435ed76951218fb7d0c8d788a309d785436bbb642e93a252a954f23912547d1e8a3b5ed6e1bfd7097821233fa0538f3db854fee6
CRC-32
414fa339
Tamaño de entrada
43bytes
Tamaño del resumen
256bits
Bits del resumen que cambian al invertir un bit de entrada
141bits

SHA-256 transforma estos 43 bytes en un hash de 256 bits. Invertir un solo bit de entrada cambió 141 de los 256 bits del hash (55.1 %); así, entradas casi idénticas producen hashes sin relación aparente.

Prueba del efecto avalancha, SHA-256 (primeros 64 de 256 bits)

Resumen hash de la entrada
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
Resumen con el bit 0 del byte 1 invertido
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
1
1
Bits diferentes
0
1
0
1
1
1
0
1
0
1
1
0
0
1
1
0
1
1
0
1
0
1
1
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1

Porcentaje de bits del resumen que cambian al modificar un bit de entrada

MD5 (63/128 bits)49,2%SHA-1 (75/160 bits)46,9%SHA-256 (141/256 bits)55,1%SHA-512 (262/512 bits)51,2%CRC-32 (20/32 bits)62,5%
Cómo se calcula S
  1. Codificar el texto como UTF-8

    Caracteres: 43 → bytes: 43 (344 bits).

  2. Rellenar hasta completar bloques

    blocks=⌊n+864⌋+1=⌊43+864⌋+1=1\text{blocks} = \left\lfloor \frac{n + 8}{64} \right\rfloor + 1 = \left\lfloor \frac{43 + 8}{64} \right\rfloor + 1 = 1

    Se añaden un bit 1, ceros y la longitud del mensaje en 64 bits para que el mensaje rellenado sea un múltiplo de 512 bits.

  3. Ejecutar la función de compresión

    1 block×64 rounds=64 rounds1\ \text{block} \times 64\ \text{rounds} = 64\ \text{rounds}

    Cada bloque actualiza un estado de ocho palabras de 32 bits, que se suma al estado acumulado al terminar el bloque.

  4. Obtener el resumen hash

    SHA-256 = d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592 (256 bits, 64 cifras hexadecimales).

Acerca de Generador de hashes y calculadora de sumas de comprobación: MD5 y SHA-256

Un hash criptográfico transforma cualquier entrada en un resumen de tamaño fijo: 128 bits para MD5, 160 para SHA-1, 256 para SHA-256 y 512 para SHA-512. CRC-32 es una suma de comprobación de 32 bits para detectar errores. El texto se codifica en UTF-8, se rellena hasta completar bloques de 512 o 1024 bits y pasa por las rondas de compresión del algoritmo, según NIST FIPS 180-4 y RFC 1321.

Sirve para verificar descargas frente a una suma publicada, comparar archivos y probar código. La frase inicial, «The quick brown fox jumps over the lazy dog», tiene el resumen SHA-256 d7a8fbb3…37c9e592. Cambiar un bit de entrada modifica 141 de sus 256 bits, cerca de la mitad esperada en un buen hash.

MD5 y SHA-1 tienen ataques de colisión prácticos; usa SHA-256 o SHA-512 cuando alguien pueda manipular los datos.

Calcular el resumen del texto exacto

La calculadora produce resúmenes MD5, SHA-1, SHA-256, SHA-512 y CRC-32 de texto codificado como UTF-8. Puede comparar el algoritmo seleccionado con una suma proporcionada e ilustrar cómo cambia el resumen al modificar un bit de entrada. El contenido exacto del campo determina los bytes procesados.

La frase inicial, The quick brown fox jumps over the lazy dog, contiene 43 bytes UTF-8. Su SHA-256 es d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592. Conserva el texto en inglés para reproducir ese ejemplo: traducirlo cambia la entrada. Mayúsculas, espacios y puntuación también forman parte del mensaje; añadir un punto final produce otro resumen.

El campo admite texto, sin cargar archivos. Pegar el nombre de un archivo calcula el resumen de sus caracteres, no el de su contenido. Para comprobar un archivo descargado, utiliza una herramienta que procese sus bytes reales y compara el resultado con una suma publicada por una fuente de confianza.

Algoritmo y representación de salida

El algoritmo seleccionado proporciona el resumen principal y los otros cuatro aparecen como salidas adicionales. MD5 tiene 128 bits; SHA-1, 160; SHA-256, 256; SHA-512, 512; y CRC-32, 32. Su longitud permanece fija aunque aumente el mensaje de entrada. El tamaño del resumen y el tamaño del texto son cantidades diferentes.

Hexadecimal utiliza dos caracteres por byte del resumen. SHA-256 ocupa 64 dígitos hexadecimales y SHA-512, 128. La opción HEX cambia las letras a mayúsculas sin modificar los bytes. Base64 representa esos mismos bytes con otro alfabeto y otra longitud; no es un segundo algoritmo de resumen.

Tampoco se codifica como Base64 la cadena hexadecimal visible. Para SHA-256 de abc, el resumen Base64 es ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0=. Codificar el texto de sus 64 caracteres hexadecimales daría una cadena diferente y más larga. Selecciona la representación que corresponda a la suma de referencia.

Saltos de línea y bytes Unicode

El texto abc ocupa tres bytes y su SHA-256 es ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad, como en el ejemplo trabajado de SHA-256 del NIST. El mensaje debe coincidir byte a byte para reproducir esa respuesta.

Activar la opción de salto de línea añade el byte 0A. La entrada pasa a cuatro bytes y el resumen es edeaaff3f1774ad2888673770c6d64097e391bc362d7d6fb34982ddf0efd18cb. La opción siempre añade un salto: si el texto ya termina con uno, habrá otro más. Comprueba líneas vacías y espacios finales al comparar con una herramienta de terminal.

El texto no ASCII puede necesitar varios bytes por carácter. héllo €😀 contiene ocho puntos de código Unicode y 14 bytes UTF-8. El codificador de texto muestra los bytes individuales. Dos textos de aspecto similar pueden tener diferentes representaciones Unicode: é precompuesta y e seguida de acento combinante no contienen los mismos bytes.

La calculadora no normaliza esas secuencias antes de calcular el resumen. Su límite es 100000 bytes UTF-8, incluido el salto añadido. No representa cien mil caracteres visibles. Una entrada con muchos caracteres de varios bytes alcanza ese límite antes que una entrada ASCII con el mismo número de caracteres.

Revisar una comparación de sumas

El campo de comparación ignora espacios y admite hexadecimal con prefijo opcional 0x. Las letras hexadecimales se comparan sin distinguir mayúsculas. En Base64, las mayúsculas y minúsculas sí representan valores distintos y se mantienen relevantes para la comparación.

Si la suma corresponde a otro algoritmo disponible, se indica que no coincide con el algoritmo seleccionado y se identifica el otro resumen coincidente. Pegar MD5 de abc cuando está seleccionado SHA-256 no convierte la comprobación de SHA-256 en una coincidencia. Mantén coherentes el algoritmo, la representación y los bytes originales.

Una longitud inesperada o una cadena mal formada puede aparecer como suma no coincidente, sin invalidar el texto que se está procesando. Lee el resultado junto con los avisos. La herramienta compara los valores aportados, pero no establece el origen de una suma publicada. La igualdad por sí sola tampoco autentica al editor si alguien puede sustituir tanto un archivo como su suma.

Interpretar el cambio de bits

Para un mensaje no vacío, la calculadora invierte el bit menos significativo del primer byte y vuelve a procesar esos bytes. La cuenta de bits cambiados comprende todo el resumen seleccionado. El dibujo muestra como máximo sus primeros 64 bits, por lo que puede exhibir menos cambios que el total indicado.

En el ejemplo inicial de SHA-256 cambian 141 de 256 bits; con abc, cambian 112. Un experimento individual no tiene que cambiar exactamente la mitad de las posiciones. El ejemplo ilustra el efecto de una modificación de entrada, sin certificar por sí solo la seguridad del algoritmo.

EscenarioBytes de entradaBits del resumenBits cambiados
Predeterminado43256141
sha256 abc3256112
Salto de línea añadido4256127
Valor de comprobación CRC93215
Unicode UTF-814256119

La fila CRC utiliza 123456789 y produce CBF43926 con CRC-32 en hexadecimal mayúsculo. La fila de salto utiliza abc con el byte adicional. Una entrada vacía tiene resumen, pero no hay un primer byte que invertir y se omite la cuenta de cambios.

Integridad y protección de contraseñas

RFC 6151 descarta MD5 para usos que necesitan resistencia a colisiones. El aviso de transición de SHA-1 del NIST dirige su sustitución. CRC-32 detecta errores accidentales y no proporciona resistencia criptográfica a manipulaciones. Un resumen rápido sin sal ni factor de trabajo tampoco es un sistema de almacenamiento de contraseñas. La herramienta de contraseñas aborda su generación y estimaciones por separado.

Ejemplos resueltos

«abc» (ejemplo de un bloque de FIPS 180-4)

Texto
abc
Algoritmo
SHA-256
Mostrar los resúmenes como
hexadecimal
Resumen hash
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
MD5
900150983cd24fb0d6963f7d28e17f72
SHA-1
a9993e364706816aba3e25717850c26c9cd0d89d
SHA-512
ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f
CRC-32
352441c2
Tamaño de entrada
3 bytes

Fuente de comprobación: Comprobación del ejemplo: Ejemplos SHA-1, SHA-256 y SHA-512 de FIPS 180-4 / NIST CSRC para «abc»; pruebas MD5 de RFC 1321 §A.5

Cadena vacía

Algoritmo
SHA-512
Mostrar los resúmenes como
hexadecimal
Resumen hash
cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
MD5
d41d8cd98f00b204e9800998ecf8427e
SHA-1
da39a3ee5e6b4b0d3255bfef95601890afd80709
SHA-256
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
CRC-32
00000000
Tamaño de entrada
0 bytes

Fuente de comprobación: Comprobación del ejemplo: RFC 1321 §A.5 (MD5 de "")

Mensaje de 448 bits (dos bloques para SHA-256)

Texto
abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq
Algoritmo
SHA-256
Mostrar los resúmenes como
hexadecimal
Resumen hash
248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1
SHA-1
84983e441c3bd26ebaae4aa1f95129e5e54670f1
SHA-512
204a8fc6dda82f0a0ced7beb8e08a41657c16ef468b228a8279be331a703c33596fd15c13b1b07f9aa1d3bea57789ca031ad85c7a71dd70354ec631238ca3445
Tamaño de entrada
56 bytes

Fuente de comprobación: Comprobación del ejemplo: Ejemplos de dos bloques de FIPS 180-4 / NIST CSRC para el mensaje de 448 bits

Mensaje de 896 bits (dos bloques para SHA-512)

Texto
abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmn…
Algoritmo
SHA-512
Mostrar los resúmenes como
hexadecimal
Resumen hash
8e959b75dae313da8cf4f72814fc143f8f7779c6eb9f7fa17299aeadb6889018501d289e4900f7e4331b99dec4b5433ac7d329eeb6dd26545e96e55b874be909

Fuente de comprobación: Comprobación del ejemplo: Ejemplo SHA-512 de dos bloques de FIPS 180-4 / NIST CSRC

Preguntas

¿Sigue siendo seguro usar MD5?

No para seguridad. En 2004 se publicaron colisiones prácticas de MD5, y en 2008 se usaron para falsificar un certificado de autoridad de certificación de confianza. RFC 6151 (2011) considera MD5 inaceptable cuando se exige resistencia a colisiones, como en firmas digitales. Aún detecta corrupción accidental en una descarga, pero para datos que un atacante pueda alterar usa SHA-256 o SHA-512, definidos en NIST FIPS 180-4.

¿Qué diferencia hay entre SHA-1 y SHA-256?

SHA-256 produce un resumen de 256 bits (64 cifras hexadecimales), frente a los 160 bits de SHA-1 (40 cifras), y no tiene ataques de colisión prácticos conocidos. Google y CWI Ámsterdam publicaron la primera colisión de SHA-1, SHAttered, en 2017. NIST anunció la retirada de SHA-1 para protección criptográfica en todas las aplicaciones antes del 31 de diciembre de 2030. Ambos algoritmos pertenecen a FIPS 180-4.

¿Cómo verifico la suma de comprobación de un archivo?

Calcula el hash del archivo descargado y compáralo con la suma publicada por una fuente fiable; cualquier diferencia indica que el archivo ha cambiado. En Linux usa sha256sum file; en macOS, shasum -a 256 file; y en Windows, certutil -hashfile file SHA256 o Get-FileHash de PowerShell, que usa SHA-256 de forma predeterminada. El cuadro de comparación hace lo mismo para texto e ignora mayúsculas y espacios.

¿Por qué echo text | sha256sum produce otro hash?

Porque echo añade un salto de línea: el comando calcula el hash de abc más un salto (4 bytes), no de abc (3 bytes). Un byte adicional cambia todo el resumen: SHA-256 de abc empieza por ba7816bf, mientras que con un salto de línea empieza por edeaaff3. Usa echo -n o printf '%s' para procesar solo el texto, o activa aquí la opción de salto de línea para reproducir echo.

¿Dos entradas diferentes pueden tener el mismo hash?

Sí, porque un número ilimitado de entradas se asigna a un conjunto finito de resúmenes, pero en un hash seguro no debería ser viable encontrar una pareja así. Por la cota del cumpleaños, una búsqueda por fuerza bruta requiere unos 2^(n/2) intentos para un resumen de n bits: 2^64 para MD5 y 2^128 para SHA-256. Los ataques conocidos encuentran colisiones de MD5 y SHA-1 mucho más rápido; las de CRC-32 pueden calcularse directamente porque CRC es lineal.

Acerca de esta calculadora

blocks=⌊n+864⌋+1MD5, SHA-1, SHA-256blocks=⌊n+16128⌋+1SHA-512\begin{aligned} \text{blocks} &= \left\lfloor \frac{n + 8}{64} \right\rfloor + 1 && \text{MD5, SHA-1, SHA-256} \\ \text{blocks} &= \left\lfloor \frac{n + 16}{128} \right\rfloor + 1 && \text{SHA-512} \end{aligned}

Fuentes

  1. NIST FIPS 180-4, Secure Hash Standard (SHA-1, SHA-256, SHA-512)
  2. RFC 1321 — The MD5 Message-Digest Algorithm
  3. NIST CSRC — Examples with intermediate values (SHA-1, SHA-2)
  4. Catalogue of parametrised CRC algorithms — CRC-32/ISO-HDLC

Verificado con las referencias

Esta calculadora incluye 11 ejemplos resueltos con respuestas de fuentes independientes. Forman parte del conjunto de pruebas y también puedes ejecutarlos aquí.

Pon esta calculadora en tu sitio

Pega esto donde quieras que aparezca la calculadora. Su uso es gratuito, se mantiene al día con las correcciones que hacemos aquí y el crédito que aparece debajo enlaza con la versión completa, para que tus lectores puedan consultarla.

Altura
Vista previa de la inserción

Conserva el crédito. Es la única condición y es lo que mantiene gratuitas estas calculadoras.