raatools/

Generador de hash

Genera hashes criptográficos de cualquier texto.

¿Qué es un hash criptográfico?

Una función hash criptográfica toma cualquier entrada (un solo carácter, un documento o un archivo entero) y produce una cadena de longitud fija de caracteres hexadecimales llamada digest. La misma entrada siempre produce el mismo hash, pero un cambio mínimo en la entrada produce una salida completamente distinta. Esta propiedad se llama efecto avalancha.

Las funciones hash son unidireccionales: no puedes recuperar la entrada original a partir del hash. Esto las hace fundamentalmente distintas del cifrado, que está diseñado para ser reversible con la clave correcta. El hashing se usa para verificación de integridad de datos, almacenamiento de contraseñas, firmas digitales y muchas otras aplicaciones de seguridad.

Algoritmos de hash soportados

  • SHA-1: SHA-1 produce un hash de 160 bits (40 caracteres hex). Fue el estándar para certificados TLS y commits de Git, pero en 2017 se descubrieron debilidades criptográficas. SHA-1 está obsoleto para uso de seguridad pero sigue siendo común para checksums no críticos.
  • SHA-256: SHA-256 produce un hash de 256 bits (64 caracteres hex). Es el algoritmo más utilizado hoy en día, asegurando conexiones TLS, transacciones de Bitcoin, certificados de firma de código y verificación de paquetes de software.
  • SHA-384: SHA-384 produce un hash de 384 bits (96 caracteres hex). Es una versión truncada de SHA-512, usada habitualmente en cadenas de certificados TLS y construcciones HMAC donde se desea margen extra de seguridad.
  • SHA-512: SHA-512 produce un hash de 512 bits (128 caracteres hex). Ofrece la máxima fortaleza en la familia SHA-2 y puede ser más rápido que SHA-256 en procesadores de 64 bits porque opera nativamente con palabras de 64 bits.

Usos comunes del hashing

  • Verificar la integridad de archivos comparando checksums tras la descarga.
  • Almacenar contraseñas de forma segura en bases de datos (siempre con un salt único por usuario).
  • Generar firmas digitales para documentos y paquetes de software.
  • Cache-busting en desarrollo web añadiendo hashes de contenido a los nombres de archivo.
  • Crear identificadores únicos basados en contenido en sistemas distribuidos.

Hashing vs. cifrado

El cifrado es reversible: puedes descifrar datos con la clave correcta. El hashing es una función unidireccional: no puedes recuperar el texto original a partir de un hash. Esto hace al hashing ideal para contraseñas (solo necesitas verificar, no recuperar) y verificaciones de integridad (solo necesitas detectar cambios).

¿Es seguro mi texto?

Todo el hashing usa la API Web Crypto integrada en tu navegador (crypto.subtle). Tu texto nunca se transmite a ningún servidor. La API Web Crypto es el mismo motor criptográfico utilizado por HTTPS, garantizando implementaciones de calidad industrial de cada algoritmo.

Preguntas frecuentes

¿Pueden dos entradas distintas producir el mismo hash?

Teóricamente sí, esto se llama colisión. Sin embargo, para SHA-256, encontrar una colisión requiere aproximadamente 2¹²⁸ operaciones, lo que es computacionalmente inviable con la tecnología actual o previsible. Las colisiones SHA-1 sí se han demostrado, por eso se ha quedado obsoleto.

¿Qué algoritmo de hash debo usar?

Para la mayoría de los propósitos, SHA-256 es la mejor opción. Ofrece fuerte seguridad, amplia compatibilidad y excelente rendimiento. Usa SHA-512 si necesitas margen extra de seguridad o trabajas en sistemas de 64 bits donde puede ser más rápido. Evita SHA-1 para cualquier aplicación sensible a seguridad.