Herramientas
Guías

Calculadora de hash

Cifrado

Calcula SHA-1/256/384/512 mediante Web Crypto y MD5. Salida Hex o Base64.

100 % del lado del cliente Sin backend
Entrada
Salida
Introduce texto para calcular su resumen.
En esta página

¿Qué es un hash?#

Un hash criptográfico es una huella digital unidireccional para bytes arbitrarios. Le pasas un mensaje de cualquier longitud y obtienes un resumen de longitud fija que se comporta como una firma de esa entrada exacta: cambia un solo bit y la salida cambia por completo. El hash responde a la vez a dos preguntas prácticas —«¿cambiaron estos datos?» y «¿puedo referenciar estos datos con un id corto y estable?»—, por eso está debajo de las comprobaciones de integridad de archivos, el direccionamiento por contenido, la desduplicación y el almacenamiento de contraseñas.

Esta página calcula cinco algoritmos: la familia SHA-2 (SHA-256, SHA-384, SHA-512), SHA-1 y MD5. Las cuatro variantes SHA se ejecutan a través del motor nativo Web Crypto del navegador (crypto.subtle.digest), la misma primitiva que usa el código de producción, no una reimplementación en JavaScript. MD5 no forma parte de Web Crypto, así que se carga bajo demanda solo cuando realmente lo seleccionas, manteniéndolo fuera de la descarga inicial de la página.

Un hash no es cifrado. Es irreversible: no puedes reconstruir la entrada a partir del resumen. Si necesitas que dos partes compartan un resumen con clave, usa HMAC; si necesitas revertir la operación, usa cifrado simétrico.

Cómo usarlo#

  1. Pega tu entrada en el panel izquierdo. Cualquier cosa textual: una cadena, un bloque JSON, un fragmento de configuración. Los bytes se codifican como UTF-8 antes de hashear.
  2. Elige el algoritmo:
    • SHA-256: el valor por defecto moderno; resumen de 256 bits, usado en todas partes, desde TLS hasta Git o la cadena de bloques.
    • SHA-384 / SHA-512: resúmenes más largos de la misma familia; elígelos cuando una especificación los requiera.
    • SHA-1: 160 bits; heredado, válido para sumas de comprobación, roto para firmas resistentes a colisiones.
    • MD5: 128 bits; rápido y ubicuo, pero criptográficamente roto. Útil para sumas no de seguridad y claves de caché heredadas.
  3. Elige la codificación de salida: hex (minúsculas, la convención habitual para resúmenes) o base64 (más compacta, común en tokens).
  4. Pulsa Ejemplo para cargar la cadena canónica de prueba, o Limpiar para empezar de nuevo. El resumen se actualiza en vivo en el panel derecho; Copiar se lo lleva.

Características principales#

  • Web Crypto nativo. SHA-1/256/384/512 se calculan con crypto.subtle.digest, la implementación auditada del navegador, no una librería de terceros.
  • MD5 perezoso. La implementación de MD5 solo se obtiene cuando la seleccionas, así que nunca lastra el primer renderizado.
  • Hex o base64. Alternancia con un clic, sin reescribir.
  • Línea de estado en vivo. Confirma el algoritmo y la longitud en bytes del resumen, así un resultado truncado o con un error de uno es evidente.
  • Cero subidas. El hash se calcula por completo en tu navegador; la entrada nunca llega a un servidor.

Ejemplo detallado#

La cadena canónica de referencia es The quick brown fox jumps over the lazy dog. Con el algoritmo en SHA-256 y salida hex, el resumen es:

d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592

La misma cadena con SHA-1 (hex):

2fd4e1c67a2d28fced849ee1bb76e7391b93eb12

Un caso límite útil es la cadena vacía. Hashear nada en absoluto sigue produciendo un resumen bien definido y no vacío: para SHA-256 es e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855, y para MD5 es d41d8cd98f00b204e9800998ecf8427e. Estos vectores de entrada vacía son también la forma en que la propia suite de tests de esta herramienta verifica la corrección: si tu salida difiere, la página ha sido manipulada.

Preguntas frecuentes#

SHA-256 o MD5, ¿cuál elijo?#

SHA-256 para todo lo que toque seguridad: esquemas de salado de contraseñas, URLs firmadas, pruebas de integridad, identificadores de contenido que deban resistir ataques de colisión. MD5 es aceptable solo para sumas no adversarias (una comprobación rápida de «¿cambió este archivo?», una clave de caché) donde nadie intenta falsificar una colisión. Si no estás seguro, por defecto usa SHA-256.

¿Por qué la misma entrada da siempre el mismo resumen?#

El hash es determinista: en esta capa no interviene ninguna sal aleatoria (a diferencia de bcrypt). Esa determinación es toda la razón de ser del direccionamiento por contenido: los mismos bytes deben producir siempre la misma huella. El reverso es que dos personas que hashean el mismo secreto obtienen el mismo resumen, y por eso un hash plano es una forma terrible de almacenar contraseñas.

¿Puedo recuperar el original a partir del hash?#

No. Un hash criptográfico es una función unidireccional por diseño: no hay clave ni operación inversa. «Descifrar un SHA-256» es un error de categoría. El único ataque es la fuerza bruta (probar entradas hasta que una coincida), que es justo lo que hace peligrosas a las contraseñas débiles incluso hasheadas sin sal.

¿Por qué mi MD5 difiere del de una herramienta que suelo usar?#

Casi siempre un desfase en la representación de bytes: un salto de línea final, distintos finales de línea (CRLF frente a LF), o la otra herramienta hasheando una representación UTF-16 mientras esta página hashea en UTF-8. Compara los bytes en bruto, no el texto en pantalla.