Maison  >  Article  >  interface Web  >  algorithme de chiffrement irréversible javascript

algorithme de chiffrement irréversible javascript

WBOY
WBOYoriginal
2023-05-22 11:11:36736parcourir

Avec le développement continu de la technologie Internet, les questions de sécurité des données sont progressivement devenues un enjeu important pour les applications Internet. Parmi eux, le cryptage est une méthode de protection des données couramment utilisée. En tant que langage de script exécuté côté navigateur, JavaScript est de plus en plus utilisé dans le cryptage. Cet article présentera un algorithme de chiffrement irréversible en JavaScript, à savoir la fonction de hachage.

1. Qu'est-ce que la fonction de hachage ?

La fonction de hachage, également connue sous le nom de fonction de hachage, est une fonction qui compresse un message de n'importe quelle longueur en un résumé de message d'une certaine longueur fixe. Il est couramment utilisé dans le cryptage, la cryptographie, la vérification de l'intégrité des données et d'autres domaines. L'idée principale de la fonction de hachage est de convertir les données d'entrée en une valeur de hachage de longueur fixe et de garantir que la valeur de hachage changera également lorsque les données d'entrée changeront.

La fonction de hachage se caractérise par son irréversibilité, son caractère unique, sa longueur fixe et sa haute efficacité. Irréversible signifie que les données originales ne peuvent pas être déduites de la valeur de hachage ; unique signifie que différentes données originales produisent des valeurs de hachage différentes ; une longueur fixe signifie que la longueur du message est différente, mais que l'efficacité de la valeur de hachage est la même ; Les valeurs de hachage peuvent être calculées en peu de temps.

2. Fonctions de hachage en JavaScript

En JavaScript, les fonctions de hachage les plus courantes sont MD5 et SHA-1. Ils peuvent tous deux compresser des données de n'importe quelle longueur en une valeur de hachage de 128 bits ou 160 bits. Cependant, en raison de certaines vulnérabilités de MD5 et SHA-1, leur sécurité a été remise en question.

Par conséquent, dans certaines situations où les exigences en matière de sécurité des données sont relativement élevées, des fonctions de hachage plus sécurisées telles que SHA-256 ou SHA-512 peuvent être utilisées. SHA-256 peut compresser un message de n'importe quelle longueur en une valeur de hachage de 256 bits, et SHA-512 peut compresser un message de n'importe quelle longueur en une valeur de hachage de 512 bits.

Ci-dessous, nous prenons SHA-256 comme exemple pour montrer comment utiliser les fonctions de hachage pour le cryptage en JavaScript.

3. Utilisation de l'algorithme SHA-256 en JavaScript

En JavaScript, vous pouvez utiliser la fonction crypto.subtle.digest() dans la bibliothèque crypto pour effectuer le SHA-256 calcul de la fonction de hachage. Cette fonction prend le type et la valeur des données à traiter comme paramètres et renvoie un objet Promise, dont le résultat est des données sous la forme d'un ArrayBuffer de valeurs de hachage.

Ce qui suit est un exemple de code chiffré à l'aide de l'algorithme SHA-256 :

async function sha256(message) {
  const msgBuffer = new TextEncoder().encode(message);                   
  const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer);     
  const hashArray = Array.from(new Uint8Array(hashBuffer));                
  const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
  return hashHex;
}

console.log(await sha256('hello, world')); 
// 输出:b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

Dans le code, nous utilisons le sucre syntaxique async/await pour gérer le résultat de retour de la promesse objet. Tout d'abord, utilisez TextEncoder pour encoder le message à traiter et le convertir en données sous forme d'ArrayBuffer. Ensuite, utilisez la fonction crypto.subtle.digest() pour calculer la valeur de hachage du message et obtenez une valeur de hachage sous la forme d'un Uint8Array. Enfin, convertissez-le en chaîne au format hexadécimal.

4. Résumé

La fonction de hachage est un algorithme de chiffrement irréversible important et est également largement utilisée en JavaScript. L'utilisation de fonctions de hachage peut protéger efficacement la sécurité des données et a des applications importantes dans la cryptographie, l'authentification, les signatures numériques et d'autres domaines. Lors du choix d'une fonction de hachage, nous devons choisir un algorithme approprié en fonction de différents scénarios d'application afin d'obtenir une meilleure protection de la sécurité des données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn