Generador de Hash
Genera hashes MD5, SHA-1, SHA-256 y SHA-512.
¿Qué es una función hash?
Una función hash es un algoritmo matemático que transforma cualquier cantidad de datos en una cadena de caracteres de longitud fija. Tiene dos propiedades fundamentales: es determinista (la misma entrada siempre produce la misma salida) y es unidireccional (no se puede obtener la entrada original a partir del hash). Además, cualquier cambio mínimo en la entrada — incluso un solo carácter — genera un hash completamente diferente, lo que se conoce como efecto avalancha.
Las funciones hash son la base de muchas tecnologías de seguridad modernas. Se utilizan en firmas digitales, certificados SSL/TLS, sistemas de control de versiones como Git, verificación de descargas de software, y en prácticamente cualquier sistema que necesite garantizar la integridad de los datos.
Algoritmos disponibles y cuándo usar cada uno
MD5 (Message Digest 5) genera un hash de 128 bits representado como 32 caracteres hexadecimales. Es el algoritmo más rápido, pero se considera criptográficamente roto desde 2004, cuando se demostraron colisiones prácticas (dos entradas diferentes que producen el mismo hash). Aun así, sigue siendo útil para tareas no criptográficas como detectar archivos duplicados, generar checksums rápidos o crear identificadores únicos donde la seguridad no es un requisito.
SHA-1 (Secure Hash Algorithm 1) produce un hash de 160 bits (40 caracteres hex). Fue el estándar durante años, pero en 2017 Google demostró una colisión práctica en el proyecto SHAttered. Los navegadores dejaron de aceptar certificados SHA-1 y Git está migrando a SHA-256. Evita SHA-1 para cualquier uso de seguridad nuevo.
SHA-256 es parte de la familia SHA-2 y genera un hash de 256 bits (64 caracteres hex). Es el estándar actual para la mayoría de aplicaciones de seguridad: certificados SSL/TLS, firmas digitales, blockchain (Bitcoin lo usa como algoritmo principal), y verificación de integridad de software. Es la opción recomendada para casi cualquier caso de uso moderno.
SHA-512 genera un hash de 512 bits (128 caracteres hex). Ofrece un margen de seguridad mayor que SHA-256 y, curiosamente, puede ser más rápido en procesadores de 64 bits porque trabaja con palabras de 64 bits de forma nativa. Se utiliza en sistemas que requieren máxima seguridad o en implementaciones donde se necesita un hash más largo como entrada para otras operaciones criptográficas.
Casos de uso prácticos del hashing
Verificación de integridad de archivos: cuando descargas software, el proveedor publica el hash del archivo original. Tras la descarga, calculas el hash de tu copia y lo comparas. Si coinciden, el archivo no fue alterado durante la transferencia. Distribuciones Linux, drivers y herramientas de seguridad publican checksums SHA-256 por este motivo.
Almacenamiento de contraseñas: las aplicaciones nunca deben guardar contraseñas en texto plano. En su lugar, almacenan el hash de la contraseña. Cuando el usuario inicia sesión, se calcula el hash de la contraseña ingresada y se compara con el almacenado. En producción, se usan algoritmos especializados como bcrypt, scrypt o Argon2 que añaden salt y son intencionalmente lentos para dificultar ataques de fuerza bruta.
Blockchain y criptomonedas: cada bloque en una cadena de bloques contiene el hash SHA-256 del bloque anterior, creando una cadena inmutable. Modificar un bloque cambiaría su hash y rompería todos los enlaces posteriores. La minería consiste en encontrar un hash que cumpla condiciones específicas, lo que requiere una enorme capacidad de cálculo.
Control de versiones: Git identifica cada commit, archivo y árbol de directorio mediante su hash SHA-1 (migrando a SHA-256). Esto permite detectar cualquier modificación accidental o malintencionada en el historial del repositorio.
Hash vs cifrado: una diferencia crucial
Es importante no confundir hash con cifrado. El hash es una operación unidireccional: transforma datos en una huella de longitud fija y no existe forma de revertirlo. El cifrado es bidireccional: transforma datos usando una clave y se puede revertir (descifrar) con la clave correspondiente. Usa hash cuando no necesites recuperar el dato original (contraseñas, integridad). Usa cifrado cuando necesites que el destinatario pueda leer los datos originales (comunicaciones seguras, almacenamiento de datos sensibles).
Seguridad y privacidad de esta herramienta
Esta herramienta usa la Web Crypto API nativa del navegador para SHA-1, SHA-256 y SHA-512, garantizando la implementación más segura y eficiente disponible. Para MD5 se utiliza una implementación en JavaScript optimizada. Tu texto nunca sale de tu dispositivo — los hashes se calculan completamente en local, sin enviar datos a ningún servidor externo. Puedes desconectarte de internet y la herramienta seguirá funcionando perfectamente.
Preguntas frecuentes
Un hash es una cadena de caracteres de longitud fija generada a partir de cualquier dato de entrada mediante una función matemática unidireccional. Es como una huella digital: siempre produce el mismo resultado para la misma entrada (es determinista), pero es prácticamente imposible obtener el dato original a partir del hash. Incluso un cambio mínimo en la entrada — como modificar una sola letra — produce un hash completamente diferente, propiedad conocida como efecto avalancha.
MD5 genera un hash de 128 bits (32 caracteres hexadecimales) y es el más rápido, pero se considera criptográficamente roto desde 2004 debido a vulnerabilidades de colisión. SHA-1 produce 160 bits (40 caracteres) y fue deprecado para seguridad en 2017. SHA-256 genera 256 bits (64 caracteres) y es el estándar actual recomendado para la mayoría de aplicaciones de seguridad, incluyendo certificados SSL y blockchain. SHA-512 produce 512 bits (128 caracteres) y ofrece el mayor nivel de seguridad, siendo preferido en sistemas que requieren máxima protección.
No. Los algoritmos hash son funciones matemáticas de un solo sentido. No existe ningún procedimiento para obtener el texto original a partir de su hash. Los ataques conocidos como tablas rainbow o fuerza bruta intentan adivinar la entrada comparando hashes precalculados, pero no revierten la función. Por eso es fundamental usar salt (un valor aleatorio adicional) al almacenar contraseñas con hash, para que incluso dos usuarios con la misma contraseña tengan hashes diferentes.
El hash es una operación unidireccional: transforma datos en una huella de longitud fija y no se puede revertir. El cifrado es bidireccional: transforma datos usando una clave y se puede revertir (descifrar) con la clave correcta. Usa hash cuando no necesites recuperar el dato original (contraseñas, verificación de integridad). Usa cifrado cuando necesites recuperar el dato original (comunicaciones, almacenamiento de datos sensibles).
En blockchain, cada bloque contiene el hash del bloque anterior, formando una cadena inmutable. Si alguien intenta modificar un bloque, su hash cambiaría y rompería el enlace con el siguiente bloque. Bitcoin y otras criptomonedas usan SHA-256 como algoritmo principal. Además, el proceso de minería consiste en encontrar un hash que cumpla ciertas condiciones, lo que requiere miles de millones de intentos por segundo.
Para verificar integridad de archivos o calcular un checksum rápido, sí. Para almacenar contraseñas en una base de datos, no: ningún hash criptográfico genérico (MD5, SHA-1, SHA-256, SHA-512) es adecuado. El motivo es que están diseñados para ser rápidos, y en almacenamiento de contraseñas la velocidad juega en contra: una GPU moderna calcula miles de millones de SHA-256 por segundo, lo que hace los ataques por fuerza bruta triviales. Para contraseñas necesitas funciones lentas y resistentes a hardware específico: bcrypt, scrypt o Argon2, todas con salt incorporado. Esta herramienta calcula los hashes en tu navegador con la Web Crypto API nativa, así que el texto que pegas nunca abandona tu dispositivo. Si te interesa entender la seguridad práctica de contraseñas, lee el artículo sobre cómo crear contraseñas seguras.
Herramientas relacionadas
Lecturas relacionadas
Qué es el hashing y para qué sirve
Funciones hash, propiedades, casos de uso y limitaciones.
LeerCómo crear contraseñas seguras
Por qué los hashes genéricos no sirven para almacenar contraseñas.
LeerAutenticación de dos factores: guía completa
La capa que blinda tus cuentas incluso si la contraseña se filtra.
Leer