Cómo crear el hash MD5 de una cadena de texto en JavaScript

Cómo crear el hash MD5 de una cadena de texto en JavaScript

La función hash MD5 fue diseñada para usarse como un algoritmo hash criptográfico seguro para autenticar firmas digitales; sin embargo, ha quedado obsoleta para usos diferentes a la suma de comprobación no criptográfica para verificar la integridad de los datos y detectar daños no intencionales en los datos. Esto significa que es bastante habitual utilizar este algoritmo para demostrar la integridad de un archivo. En JavaScript, no hay un conjunto de utilidades criptográficas, sin embargo, es posible implementar la misma funcionalidad utilizando una biblioteca de terceros, en este caso la biblioteca MD5 escrita por @blueimp que está disponible como un repositorio de código abierto y cuyo código fuente está disponible en Github aquí. Esta implementación de JavaScript de MD5 es compatible con entornos del lado del servidor como Node.js, cargadores de módulos como RequireJS o webpack, y todos los navegadores web.

Cómo incluir MD5 en su proyecto

Si tu proyecto usa un administrador de paquetes, puedes instalarlo fácilmente usando NPM con el siguiente comando:

npm install blueimp-md5

Alternativamente, si eres de la vieja escuela, simplemente incluya el script MD5 (puede obtener la versión original y minificada del repositorio oficial aquí ) en su documento de esta manera:

<!-- Incluir biblioteca MD5 -->
<script src="md5.js"></script>

<!-- Incluir la versión minificada MD5 -->
<script src="md5.min.js"></script>

Para obtener más información sobre esta biblioteca, no olvide visitar el repositorio oficial de Github aquí .

Cómo hacer hash usando el algoritmo MD5

Lo primero que debe hacer es importar la biblioteca MD5 en su proyecto si ya la instaló:

// Si estás utilizando un administrador de paquetes, solicite el paquete
const md5 = require("blueimp-md5");

// Si está utilizando ES6
import { md5 } from "blueimp-md5";

// Alternativamente en el navegador md5 estará disponible globalmente en la ventana

Después de importarlo, su uso será bastante sencillo. md5 es una función que espera hasta 3 parámetros:

  • value (cadena): el valor que se codificará con el algoritmo MD5.
  • key (cadena): si desea utilizar HMAC para hacer un hash de clave en una cadena, proporcione como segundo argumento.
  • raw (booleano): un valor booleano que determina si el hash debe estar codificado sin formato o hexadecimal (falso de forma predeterminada).

Hash MD5 (codificado en hexadecimal)

Puede crear fácilmente el hash MD5 de cualquier cadena dada proporcionándolo como primer argumento:

// contiene: "dc599a9972fde3045dab59dbd1ae170b"
let hash = md5("carlos");

HMAC-MD5 (codificado en hexadecimal)

Puede crear fácilmente el hash HMAC-MD5 de cualquier cadena dada proporcionando como primer argumento su valor y como segundo argumento su clave:

// contiene: "80244576c6c4e060a8e14b124cebaaa4"
// md5("key", "value")
let hash = md5("carlos", "ourcodeworld");

Hash MD5 (raw)

Puede crear fácilmente el hash MD5 sin procesar de cualquier cadena dada proporcionándolo como primer argumento, como segundo argumento un valor nulo y el tercer parámetro como verdadero:

// contiene: "ÜYš™rýã\u0004]«YÛÑ®\u0017\u000b"
let rawhash = md5("carlos", null, true);

HMAC-MD5 (raw)

Puede crear fácilmente el hash HMAC-MD5 sin procesar de cualquier cadena dada proporcionándolo como primer argumento, como segundo argumento su clave y el tercer parámetro como verdadero:

// contiene: "€$EvÆÄà`¨áK\u0012L몤"
let rawhash = md5('carlos', 'ourcodeworld', true)

Que te diviertas ❤️!

Esto podria interesarte

Conviertete en un programador más sociable