En este tutorial, aprenderás cómo encriptar texto utilizando el algoritmo SHA256 con JavaScript, compatible tanto para navegadores antiguos como modernos. Utilizaremos la biblioteca CryptoJS proporcionada a través de CDN.

¿Qué es SHA256 y Por Qué Usarlo?

SHA256 (Secure Hash Algorithm 256-bit) es un algoritmo criptográfico desarrollado por la Agencia de Seguridad Nacional de los Estados Unidos (NSA) y publicado por el Instituto Nacional de Estándares y Tecnología (NIST). Es parte de la familia de algoritmos SHA-2, que también incluyen SHA-224, SHA-384 y SHA-512.

SHA256 genera un hash de 256 bits (32 bytes) a partir de cualquier conjunto de datos de entrada. Este hash es una representación fija de los datos originales pero es casi imposible revertirlo para obtener la entrada original. Esto hace que SHA256 sea ampliamente utilizado en la seguridad informática, incluyendo la verificación de integridad de datos, autenticación y las criptomonedas como Bitcoin.

Ventajas de Usar SHA256

  • Alta seguridad: Los algoritmos de SHA256 son muy difíciles de revertir, por lo que proporcionan un alto nivel de seguridad.
  • Consistencia de longitud: El hash generado siempre tiene una longitud fija de 256 bits, independientemente del tamaño del dato original.
  • Amplio uso: Es un estándar ampliamente adoptado y soportado por muchas plataformas y bibliotecas.

Paso 1: Incluir CryptoJS

Para incluir CryptoJS en tu proyecto,  agregar el siguiente código en tu <head> 

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.2.0/crypto-js.min.js"></script>

Paso 2: Crear una Función de Encriptación SHA256

Ahora, vamos a crear una función en JavaScript que tome un texto de entrada y lo encripte utilizando SHA256.

function encryptSHA256(text) {
  return CryptoJS.SHA256(text).toString(CryptoJS.enc.Hex);
}

Paso 3: Usar la Función de Encriptación

Para utilizar esta función, simplemente llamala pasando el texto que deseas encriptar. Aquí tienes un ejemplo:

let texto = "Hola Mundo";
let textoEncriptado = encryptSHA256(texto);
console.log("Texto Encriptado: ", textoEncriptado);

Ejemplo

Te comparto un ejemplo funcional

Ejemplo uso de sha256 en el navegador

Conclusión

Con estos sencillos pasos, puedes encriptar texto utilizando SHA256 con JavaScript, compatible con cualquier navegador que soporte JavaScript. La biblioteca CryptoJS es bastante robusta y ofrece una amplia variedad de métodos de encriptación fáciles de usar.