Utilia

Generador de hash

Genera hashes MD5, SHA-1, SHA-256 y SHA-512 de textos o de archivos de cualquier tamaño y verifica sumas de comprobación. Todo en tu navegador.

Calcular el hash de
El texto se codifica en UTF-8.
Algoritmos

Cómo usar el generador de hash

  1. En Calcular el hash de, elige Texto o Archivos.
  2. Para un texto, escríbelo o pégalo en Texto a procesar. Los hashes se actualizan mientras escribes; el botón Calcular hash los vuelve a calcular cuando quieras.
  3. Para archivos, suelta uno o varios en la zona de carga o haz clic en ella para elegirlos. Con archivos grandes aparece una barra de progreso con un botón Cancelar.
  4. Selecciona los Algoritmos que necesites (MD5, SHA-1, SHA-256, SHA-512) y el Formato de salida: hexadecimal en minúsculas, hexadecimal en mayúsculas o Base64.
  5. Para verificar una descarga, pega la suma de comprobación publicada en Comparar con un hash esperado (opcional). La herramienta te dice qué algoritmo coincide, o que no coincide ninguno.

¿Qué es un hash?

Una función hash criptográfica convierte cualquier entrada, sea una palabra o una imagen de disco de 50 GB, en una huella corta de tamaño fijo. La misma entrada da siempre el mismo hash, y cambiar un solo bit de la entrada cambia el resultado por completo. Un hash no se puede invertir para recuperar la entrada.

Algoritmo Tamaño de salida Longitud en hex Estado
MD5 128 bits 32 caracteres Roto: solo para sumas de comprobación
SHA-1 160 bits 40 caracteres Roto: colisiones demostradas en 2017
SHA-256 256 bits 64 caracteres Seguro, el estándar actual
SHA-512 512 bits 128 caracteres Seguro, a menudo más rápido en procesadores de 64 bits

Por ejemplo, el hash SHA-256 de abc es ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad.

Verificar una descarga

Los editores de software suelen publicar una suma de comprobación SHA-256 junto a sus archivos. Después de descargar, abre el modo Archivos, suelta el archivo y pega el valor publicado en el campo de comparación. Si coinciden, queda demostrado que el archivo no se dañó durante la descarga y que es idéntico al que procesó el editor. Eso no demuestra que el editor sea de fiar: para ello, la propia suma de comprobación debe proceder de una fuente fiable, como un sitio HTTPS o una versión firmada.

Cómo se procesan los archivos grandes

Los archivos se leen localmente y nunca se suben. Los de hasta 64 MB se procesan de una sola pasada con la API Web Crypto integrada en tu navegador. Los más grandes se leen en fragmentos de 4 MB que alimentan funciones hash incrementales, de modo que el uso de memoria se mantiene estable y se pueden procesar archivos de varios gigabytes. En un ordenador normal, cuenta con unos cientos de megabytes por segundo para SHA-256.

Texto, codificaciones y saltos de línea

Un hash se calcula sobre bytes, no sobre caracteres. Esta herramienta codifica el texto en UTF-8, el estándar en la web y en la mayoría de los lenguajes de programación. Si obtienes un resultado distinto en otro sitio, busca diferencias ocultas: un salto de línea final (echo "abc" | sha256sum procesa abc\n; usa echo -n), saltos de línea de Windows (\r\n) u otra codificación, como UTF-16.

Preguntas frecuentes

¿Puedo usar MD5 o SHA-1 para guardar contraseñas?

No, y tampoco SHA-256 a secas. Estas funciones están diseñadas para ser rápidas, así que un atacante puede probar miles de millones de intentos por segundo. Las contraseñas necesitan un algoritmo lento y con sal, como Argon2, bcrypt o scrypt.

¿Sigue siendo útil MD5?

Sí, para detectar daños accidentales, eliminar archivos duplicados o comparar con una lista antigua de sumas de comprobación. No hay que confiar en él frente a manipulaciones deliberadas, porque cualquiera puede crear dos archivos distintos con el mismo MD5.

¿Se suben mis archivos?

No. Tu navegador lee los archivos y calcula el hash. No se envía nada a ningún servidor, así que puedes procesar documentos confidenciales.

¿Por qué mi hash no coincide con el de la línea de comandos?

Casi siempre la entrada es distinta: un salto de línea final, espacios, los saltos de línea o la codificación del texto. En el caso de archivos, asegúrate de que la descarga esté completa. Un solo byte que falte da un hash completamente distinto.

¿Qué diferencia hay entre la salida hexadecimal y Base64?

Son dos formas de escribir los mismos bytes. El hexadecimal es el formato habitual de las sumas de comprobación; Base64 es más corto y se usa, por ejemplo, en los atributos de Subresource Integrity (sha256-…). El campo de comparación acepta los dos.