Générer un hash avec JavaScript

Concept et utilisation

La fonction strHash() permet d'obtenir une empreinte cryptographique ("hash") à partir d'une chaine de caractères. La longueur de la chaine retournée dépend de l'algorithme de hachage utilisé.

Fonction

strHash()

Retourne une promesse dont la fonction de rappel en cas de succès contient le message haché selon un algorithme.

Syntaxe
strHash(message, algorithme);
Paramètres
message(String)

Le paramètre message de la fonction strHash() définit le message à hacher.

algorithme(String)

Le paramètre algorithme de la fonction strHash() définit l'algorithme à utiliser pour le hachage du message.
Si ce paramètre est omis, l'algorithme "SHA-256" sera utilisé par défaut.

Exemple de hachage d'un message

var message = 'Message';

strHash(message).then(function(hash) {

  console.log(hash);
  // Renvoie : '2f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91'

});

Code source de la fonction

async function strHash(a, b) {
  b = b || 'SHA-256';
  var c = new TextEncoder().encode(a),
      d = await crypto.subtle.digest(b, c),
      e = Array.from(new Uint8Array(d)),
      f = e.map(function(c) {
        return c.toString(16).padStart(2, '0');
      }).join('');
  return f;
}
^