Generador de Hash

Genera hashes criptográficos SHA-1, SHA-256 y SHA-512 para cualquier texto.

Input text
Hashes update in real-time. Any change in input produces a completely different hash.
About these algorithms
SHA-1160-bit hash. Deprecated for security — use for checksums and non-security identifiers only.
SHA-256256-bit hash. Current standard for security applications, digital signatures, and password hashing chains.
SHA-512512-bit hash. Higher collision resistance. Used when maximum security margin is required.
Modo masivo Pro

¿Qué es Generador de Hash?

Una función hash criptográfica toma una entrada de cualquier tamaño y produce una salida de tamaño fijo (el hash o resumen) con propiedades de seguridad clave: la misma entrada siempre produce la misma salida, un cambio diminuto en la entrada produce una salida completamente diferente (el efecto avalancha) y es computacionalmente inviable revertir un hash a la entrada original. Nuestro generador de hash calcula hashes SHA-1, SHA-256 y SHA-512 usando la Web Crypto API integrada en tu navegador.

Las funciones hash son fundamentales para la seguridad y la integridad de los datos. Las contraseñas se almacenan como hashes para que una brecha en la base de datos no exponga las contraseñas reales. Las descargas de archivos incluyen sumas de comprobación SHA-256 para verificar la integridad. Las firmas digitales usan funciones hash para crear resúmenes compactos de documentos. Git usa SHA-1 para identificar cada commit, árbol y blob. Nuestra herramienta usa SubtleCrypto (window.crypto.subtle), la misma API que emplean las aplicaciones web seguras.

Entender el hashing es esencial para cualquier desarrollador que trabaje en seguridad, autenticación o integridad de datos. Esta herramienta hace tangibles los conceptos de hash: escribe texto, observa el hash, cambia un carácter y comprueba la salida completamente diferente. Esta exploración práctica genera una intuición que las descripciones teóricas por sí solas no pueden ofrecer.

Casos de uso

Aquí tienes las formas más comunes en que la gente usa Generador de Hash todos los días.

Verificación de integridad de archivos

Las descargas de software, los conjuntos de datos y las imágenes de firmware suelen incluir sumas de comprobación SHA-256 publicadas. Tras la descarga, calcula el hash del archivo y compáralo con la suma de comprobación publicada. Los hashes coincidentes confirman que el archivo está intacto. Los hashes que no coinciden indican corrupción o manipulación. Así verifican la autenticidad de los archivos las distribuciones de Linux, los investigadores de seguridad y los proveedores de software.

Verificación de hash de contraseñas

Al depurar el hashing de contraseñas en una aplicación, verifica que tu función produce la salida esperada para entradas conocidas. Si esperas un valor SHA-256 concreto y la aplicación produce un hash diferente, puede haber diferencias de codificación (UTF-8 frente a UTF-16), discrepancias de salting o diferencias de algoritmo. Nuestra herramienta usa codificación UTF-8 y algoritmos SHA estándar sin salting para una comparación directa.

Sumas de comprobación en canalizaciones de datos

Añade sumas de comprobación a los conjuntos de datos y las exportaciones de archivos para que los consumidores posteriores puedan verificar que recibieron datos completos y sin modificar. Calcula el hash de la cadena de contenido, almacena el hash junto a los datos y vuelve a verificar en el extremo receptor. Este patrón detecta la corrupción silenciosa de datos en el almacenamiento, la transmisión por red y las canalizaciones de procesamiento.

Claves de caché basadas en contenido

Los sistemas de almacenamiento direccionable por contenido (como los objetos de git, la verificación de paquetes npm y las claves de caché de CDN) usan hashes como identificadores. El hash del contenido es la clave: un contenido idéntico siempre tiene el mismo hash y cualquier cambio produce un hash diferente. Usa hashes SHA-256 como claves de caché para contenido que deba invalidarse ante cualquier cambio.

Firma de peticiones de API y verificación HMAC

Muchas APIs (Stripe, GitHub, Twilio) firman los payloads de webhook con HMAC-SHA256 para que los destinatarios puedan verificar que la petición proviene realmente del proveedor de la API. Entender las funciones hash es un requisito previo para implementar la verificación de firmas de webhook: calculas el hash del cuerpo bruto de la petición con el secreto compartido y lo comparas con la firma de la cabecera. Nuestra herramienta te permite explorar el hashing SHA de payloads como ejercicio de aprendizaje; el HMAC en producción debe usar una biblioteca criptográfica en lugar de esta herramienta de interfaz.

Entender la identidad de los objetos de Git

Git identifica cada commit, árbol, blob y etiqueta por su hash SHA-1. El hash del commit es determinista: el mismo estado del repositorio siempre produce el mismo hash de commit. Cambiar cualquier contenido, mensaje, padre o marca de tiempo produce un hash completamente diferente. Entender cómo funcionan los hashes de git desmitifica el rebasing (que cambia los hashes), el cherry-picking y el almacenamiento direccionado por contenido. Calcula el hash de «Hello, World!» aquí y observa la misma salida hexadecimal que git almacenaría para ese blob.

Ejemplos

Ejemplo 1

Hashear una contraseña de prueba

Genera el SHA-256 de una entrada conocida para compararlo con un valor de hash almacenado.

Entrada myTestPassword
Salida SHA-256: a1b2c3... (cadena hexadecimal determinista de 64 caracteres: la misma entrada siempre produce la misma salida)
Ejemplo 2

Observar el efecto avalancha

Hashea «Hello» y «hello» para ver cómo un cambio de un solo carácter produce hashes completamente diferentes.

Entrada Entrada A: Hello Entrada B: hello
Salida SHA-256 A: 185f8db32921bd46d35cc2e50... SHA-256 B: 2cf24dba5fb0a30e26e83b2ac... (totalmente diferente a pesar de una diferencia de un carácter)
Ejemplo 3

Huella del contenido de un archivo

Genera un hash SHA-256 del contenido de un archivo para usarlo como clave de caché o comprobación de integridad.

Entrada Contenido de un archivo CSS pegado como texto
Salida SHA-256: 8d969eef6ecad3c29a3a629280... (huella única: cambia si cambia cualquier carácter del CSS)

Generador de Hash frente a MD5

SHA-256 frente a MD5: ambos son funciones hash, pero con perfiles de seguridad muy diferentes.

Característica Toolorah MD5
Tamaño de salida SHA-256: 256 bits (64 car. hex) 128 bits (32 car. hex)
Resistencia a colisiones Fuerte: sin colisiones conocidas Rota: colisiones prácticas demostradas
Resistencia a preimagen Fuerte Teóricamente debilitada
Velocidad (hashing en CPU) Moderada Muy rápida
Apropiado para seguridad Sí: TLS, firma de código, contraseñas No: solo sumas de comprobación no de seguridad
Usado en git SHA-1 históricamente; SHA-256 en git moderno Nunca
Recomendado por NIST No: obsoleto

Consejos para usar Generador de Hash

  • SHA-1 está roto a efectos de seguridad: úsalo solo para sumas de comprobación no relacionadas con la seguridad y para compatibilidad heredada.
  • SHA-256 es el estándar actual para la seguridad: firmas digitales, certificados, hashing de contraseñas con PBKDF2.
  • El hashing no es cifrado: no puedes recuperar el texto original a partir de un hash. Usa cifrado (AES) para datos recuperables.
  • El efecto avalancha significa que incluso un cambio de un solo carácter produce un hash completamente diferente: es una propiedad de seguridad esencial.
  • Para el almacenamiento de contraseñas, usa bcrypt, scrypt o Argon2, que añaden coste computacional y salting. Los hashes SHA en bruto no son apropiados para contraseñas.

Preguntas frecuentes

¿Cuál es la diferencia entre SHA-1, SHA-256 y SHA-512?

SHA-1 produce un hash de 160 bits (40 caracteres hexadecimales). Fue el estándar de seguridad hasta principios de la década de 2010, pero ahora se considera criptográficamente débil: en 2017 se demostraron ataques de colisión prácticos. No lo uses para aplicaciones de seguridad. SHA-256 produce un hash de 256 bits (64 caracteres hexadecimales), parte de la familia SHA-2. Es el estándar actual para certificados TLS, firma de código, criptomonedas y la mayoría de las aplicaciones de seguridad. SHA-512 produce un hash de 512 bits (128 caracteres hexadecimales), también SHA-2. Es más rápido que SHA-256 en procesadores de 64 bits y ofrece un mayor margen de seguridad.

¿Puedo revertir un hash para obtener el texto original?

No. Las funciones hash criptográficas están diseñadas para ser unidireccionales: no hay un inverso matemático. La única forma de «crackear» un hash es la búsqueda exhaustiva: probar entradas hasta que una produzca el mismo hash. Para entradas cortas o comunes (contraseñas cortas, palabras de diccionario), las tablas rainbow precalculadas hacen esto rápido. Para entradas largas y aleatorias, es computacionalmente inviable con el hardware actual o previsible. Por eso el hashing es apropiado para el almacenamiento de contraseñas: incluso si se roba la base de datos, las contraseñas no pueden recuperarse de los hashes (suponiendo un salting adecuado).

¿Qué es una colisión de hash?

Una colisión ocurre cuando dos entradas diferentes producen el mismo hash. Como las funciones hash mapean infinitas entradas a un espacio de salida finito, las colisiones deben existir teóricamente. La propiedad de seguridad es la resistencia a colisiones: hacer computacionalmente inviable encontrar dos entradas cualesquiera con el mismo hash. La resistencia a colisiones de SHA-1 está rota. SHA-256 y SHA-512 se consideran actualmente resistentes a colisiones. No se ha encontrado una colisión en SHA-256; las estimaciones sugieren que requeriría recursos computacionales que superan la capacidad de cómputo actual del mundo.

¿Qué es el efecto avalancha?

El efecto avalancha es la propiedad de que un pequeño cambio en la entrada produce una salida drásticamente diferente. En SHA-256, cambiar un solo carácter de la entrada cambia aproximadamente la mitad de los 256 bits de salida. Es una propiedad de seguridad diseñada deliberadamente: impide que cualquier relación entre entradas similares sea visible en sus hashes, lo que revelaría información sobre la entrada. Puedes observarlo directamente: hashea «Hello» y «hello» y compara las salidas completamente diferentes a pesar de una diferencia de un carácter.

¿Por qué no se usan las funciones hash para el cifrado?

Las funciones hash son unidireccionales por diseño: no puedes descifrar un hash para recuperar los datos originales. El cifrado es bidireccional: los datos cifrados con una clave pueden descifrarse con la misma clave o una relacionada. Resuelven problemas distintos: el hashing demuestra la integridad de los datos y almacena contraseñas de forma segura (verificas volviendo a hashear y comparando, no descifrando). El cifrado proporciona confidencialidad (los datos en sí deben ser recuperables). Usar hashing para datos que necesitas recuperar más tarde es un error arquitectónico: usa cifrado AES en su lugar.

¿Cuánto tarda en crackearse un hash SHA-256?

La respuesta depende por completo de la entropía de la entrada. Una contraseña de 6 caracteres en minúscula (308 millones de posibilidades) puede romperse por fuerza bruta contra SHA-256 en segundos con hardware moderno. Una palabra de diccionario más un número tarda minutos. Una contraseña aleatoria de 16 caracteres (de nuestro generador de contraseñas) tiene más entradas posibles que átomos hay en el universo observable: es efectivamente imposible de romper por fuerza bruta. Por eso el hashing de contraseñas debe usar bcrypt, Argon2 o PBKDF2: estas funciones son deliberadamente lentas, lo que hace que los ataques de fuerza bruta tarden miles de años incluso para contraseñas relativamente cortas.

¿Qué es HMAC y en qué se diferencia de un hash SHA normal?

HMAC (código de autenticación de mensajes basado en hash) combina una función hash con una clave secreta para producir un código de autenticación de mensajes. Hashing SHA normal: hash(mensaje), cualquiera puede calcularlo. HMAC: hash(secreto + mensaje), solo las partes con el secreto pueden calcularlo o verificarlo. HMAC-SHA256 se usa para verificar la autenticidad de webhooks (Stripe, GitHub), firmar peticiones de API (AWS Signature Version 4) y autenticar datos en tokens de sesión. La clave secreta impide que un atacante falsifique un HMAC válido aunque pueda ver todos los mensajes y sus MAC.