Generar hash MD5

Escribe o pega algo y el MD5 aparece mientras tecleas. Conviene decirlo de entrada: MD5 está roto para todo lo que tenga que ver con seguridad, y sigue siendo razonable como suma de verificación contra daños accidentales o como clave de caché. Esta página lo calcula porque hay motivos legítimos para necesitarlo, y explica cuáles no lo son.

Resultado

La respuesta aparece aquí mientras escribes.

  • Dónde se ejecuta

    No se sube nada, porque no hay archivo: se calcula en esta misma página.

  • Sin cola y sin cuenta

    Responde tan rápido como dé tu máquina, y nunca pregunta quién eres.

  • Tantas veces como quieras

    No se cuenta nada ni se limita nada: volver a responder no nos cuesta nada.

Cómo funciona

  1. Pega el texto en el campo.
  2. Copia los 32 caracteres hexadecimales.
  3. No se ha subido nada: el cálculo ocurre en la página.

Qué significa exactamente que esté roto

Roto quiere decir que se pueden fabricar dos entradas distintas con el mismo hash, y no en teoría: en un portátil, en segundos. Eso destruye cualquier uso en el que el hash sirva para afirmar que un contenido no ha cambiado — firmas, certificados, comprobación de integridad frente a alguien que puede manipular el original.

No quiere decir que el hash sea reversible. Sigue sin haber forma práctica de recuperar el texto a partir del valor, y por eso MD5 conserva un uso honesto: detectar corrupción accidental, que no tiene un adversario detrás. Un archivo que se ha estropeado al copiarse no elige su hash.

Por qué no sirve para contraseñas

Precisamente por lo que hace bien: es rapidísimo. Una tarjeta gráfica corriente prueba miles de millones de candidatos por segundo contra un MD5, así que una tabla de contraseñas hasheadas con él se rompe en horas, y las comunes en segundos.

Añadir sal ayuda contra las tablas precalculadas y no contra la velocidad. Para contraseñas hace falta un algoritmo diseñado para ser lento y costoso en memoria — bcrypt, scrypt o Argon2 —, y la lentitud no es un efecto secundario sino el objetivo. Si estás mirando esta página por una tabla de usuarios, la respuesta está en otro sitio.

Para qué sí sirve todavía

Como clave de caché es adecuado: se necesita que entradas iguales den valores iguales y que entradas distintas casi nunca coincidan, y ambas cosas las cumple. Que sea rápido, que lo descarta para contraseñas, aquí es una ventaja.

También sigue apareciendo en interfaces antiguas que lo exigen y en verificaciones de descarga de proyectos que publican su MD5 desde hace veinte años. En ese último caso protege contra un espejo que sirvió un archivo truncado, no contra un espejo malicioso — y esa distinción es la que casi nunca se hace explícita.

Treinta y dos caracteres, y ni uno más

Un MD5 son 128 bits, que se escriben como 32 dígitos hexadecimales. Siempre la misma longitud, sea la entrada una letra o un libro entero, porque un hash resume a tamaño fijo por definición.

De ahí una comprobación rápida y útil: si un valor que alguien llama MD5 no tiene 32 caracteres, no lo es. Cuarenta son SHA-1 y sesenta y cuatro SHA-256. Es un error de etiquetado más frecuente de lo que parece, sobre todo en documentación heredada.

El salto de línea del final del archivo

Casi cualquier editor y cualquier herramienta de Unix escriben un salto de línea al final de un archivo — POSIX define una línea de texto como algo que termina en uno. Un campo de texto en el navegador no lo hace. Por eso el MD5 de un archivo que contiene una sola palabra no coincide con el MD5 de esa palabra escrita aquí.

Es la segunda causa más frecuente de que dos hashes «del mismo contenido» no cuadren, y es especialmente pesada porque ambos lados parecen obviamente correctos. Quien esté cotejando con `md5sum` tiene que contar con ese byte, o trabajar con el archivo y no con su contenido.

Las tildes y las eñes cambian el resultado

El hash se calcula sobre bytes, y aquí el texto se convierte a bytes en UTF-8. Una `ñ` son dos bytes y una `á` también, así que un texto en castellano tiene más bytes que caracteres y su hash refleja esos bytes concretos.

Si otra herramienta da un valor distinto para el mismo texto visible, la codificación es lo primero que hay que mirar: en Latin-1 la `ñ` habría sido un byte. Ninguno de los dos programas está mal — están hasheando textos distintos, y el desacuerdo vive una capa por debajo del hash.

Por qué el texto y no el archivo

Esta web tiene otra página que calcula sumas de verificación y esa sí acepta un archivo. Están separadas a propósito porque responden a preguntas distintas: aquella responde «¿ha llegado entera esta descarga?», y esta responde «¿cuál es el hash de este valor?».

Juntarlas obligaría a poner una zona de arrastre delante de quien quiere escribir una cadena y un campo de texto delante de quien tiene un archivo, y a cada uno le sobraría la mitad de la interfaz. El algoritmo es el mismo; la pregunta no.

Qué significa esto para el RGPD

Lo que se pega en un campo así suele ser un valor que no debería moverse: un dato de una fila que se está depurando, un candidato a contraseña que se quiere cotejar, un identificador. Como el cálculo ocurre en la página, nada de eso se nos comunica.

Conviene además recordar que un hash de un dato personal sigue siendo, a efectos prácticos, un dato personal cuando el conjunto de entradas posibles es pequeño: el MD5 de un correo electrónico se rompe probando correos. Hashear no anonimiza; solo dificulta la lectura directa.

Qué es una clave de caché con MD5, en realidad

Una clave de caché necesita dos propiedades: que entradas iguales den lo mismo y que distintas casi nunca coincidan. MD5 las tiene, y su velocidad — el motivo por el que no vale para contraseñas — lo hace apropiado justo aquí.

Se vuelve atacable solo si alguien gana algo haciendo que dos peticiones distintas caigan en la misma clave, por ejemplo para recibir la respuesta ajena guardada en caché. Donde las claves se construyen con datos que envía el usuario y la caché se comparte entre sesiones, eso merece pensarse; donde salen de parámetros internos, no.

Generar hash MD5: preguntas frecuentes

¿Puedo revertir un MD5?

No de forma directa: la función no es reversible. Lo que sí se hace es probar candidatos a enorme velocidad, y por eso un MD5 de una contraseña común está resuelto de antemano en tablas públicas.

¿Sirve para guardar contraseñas?

No. Es demasiado rápido: una tarjeta gráfica prueba miles de millones de candidatos por segundo. Para contraseñas hacen falta bcrypt, scrypt o Argon2, cuya lentitud es el objetivo y no un defecto.

¿Por qué no coincide con lo que da md5sum?

Casi siempre por el salto de línea final que las herramientas de Unix escriben al final de un archivo y un campo de texto no. Ese único byte cambia el hash entero.

¿Sigue valiendo para comprobar descargas?

Contra la corrupción accidental, sí: un archivo truncado no elige su hash. Contra alguien que pueda manipular el archivo y su suma publicada, no — para eso hace falta SHA-256.

¿Sale de mi equipo el texto?

No. El cálculo ocurre en esta página. Ten en cuenta además que el hash de un dato personal sigue siendo rastreable hasta él si el conjunto de valores posibles es pequeño.

Otras herramientas