Introduce el texto a codificar en SHA-1.

Hash SHA-1 ${ hash }

Introduce el hash y el texto a verificar.

${ verificado ? 'Verificado' : 'NO verificado' }
SHA-1

¿Qué es SHA-1?

SHA-1 (Secure Hash Algorithm 1) es una función hash que convierte cualquier texto en una huella de 160 bits, 40 caracteres en hexadecimal. La diseñó la NSA y la publicó el NIST en 1995, y durante años fue la más usada en certificados SSL, firmas digitales y control de versiones como Git.

Hoy se considera insegura: en 2017 Google y el CWI de Ámsterdam consiguieron dos documentos PDF distintos con el mismo SHA-1 (el ataque SHAttered). Los navegadores ya no aceptan certificados firmados con SHA-1 y se recomienda usar SHA-256 o superior.

¿Qué es un hash?

Un hash es una huella digital de un texto. Tiene tres propiedades que lo hacen útil:

  • Siempre mide lo mismo: el hash SHA-1 de una palabra o de un libro entero tiene 40 caracteres.
  • Cambia por completo con cualquier cambio: basta una letra o un espacio para obtener un hash totalmente distinto.
  • No se puede deshacer: a partir del hash no se puede obtener el texto original. Para verificar, se vuelve a calcular el hash del texto y se comparan.

¿Sirve para guardar contraseñas?

No directamente. SHA-1 está pensado para ser rápido, y eso juega a favor de quien intenta adivinar contraseñas probando millones por segundo. Para contraseñas usa un algoritmo lento a propósito y con sal, como bcrypt.

Copiado al portapapeles.