Maison > interface Web > js tutoriel > Comment implémenter un cryptage irréversible et un stockage de texte de chiffrement de mot de passe dans NodeJS

Comment implémenter un cryptage irréversible et un stockage de texte de chiffrement de mot de passe dans NodeJS

亚连
Libérer: 2018-05-29 17:56:45
original
2757 Les gens l'ont consulté

Cet article présente principalement la méthode de NodeJS pour mettre en œuvre le cryptage irréversible et le stockage du texte chiffré des mots de passe. Il décrit brièvement les principes du cryptage irréversible et du stockage du texte chiffré des mots de passe, et analyse les techniques de mise en œuvre des opérations de chiffrement liées à Nodejs sous forme d'exemples. j'en ai besoin. Pour référence,

L'exemple de cet article décrit comment NodeJS implémente un cryptage irréversible et enregistre le texte chiffré du mot de passe. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Dans les applications, il est souvent nécessaire de crypter et de stocker le mot de passe de l'utilisateur.

L'enregistrement des mots de passe en texte clair présente un inconvénient : Une fois divulgué, cela entraînera facilement de grandes pertes, et peut également entraîner des pertes pour les utilisateurs et les mots de passe d'autres sites Web (car la plupart des utilisateurs utilisent le mot de passe sur la plupart des sites Web. Utilisez le même compte et le même mot de passe).

Cette fuite peut provenir de deux aspects : des pirates informatiques et du personnel d'exploitation et de maintenance commettant un vol.

Afin d'éviter toute fuite du texte en clair du mot de passe, nous devons crypter de manière irréversible le champ du mot de passe enregistré dans la base de données. Pour être précis, il est crypté puis enregistré dans la base de données.

Les algorithmes de chiffrement irréversibles couramment utilisés incluent MD5 et SHA-1.

Dans NodeJS, ils sont extrêmement faciles à utiliser, il suffit d'utiliser le package crypto intégré officiel :

var clearText = '123456';
// MD5 Hash
require('crypto').createHash('md5').update(clearText).digest('hex');
// 'e10adc3949ba59abbe56e057f20f883e'
// SHA-1 Hash
require('crypto').createHash('sha1').update(clearText).digest('hex');
// '7c4a8d09ca3762af61e59520943dc26494f8941b'
Copier après la connexion

Lorsqu'un utilisateur s'inscrit, le mot de passe soumis par l'utilisateur est d'abord crypté de manière irréversible, puis le texte chiffré est stocké dans la base de données.

Lorsqu'un utilisateur se connecte, le mot de passe soumis par l'utilisateur est d'abord crypté de la même manière, puis comparé au texte chiffré de la base de données pour déterminer si le mot de passe est correct.

Théoriquement, il existe d'innombrables mots de passe correspondant à la même valeur de hachage, mais ne vous inquiétez pas trop du risque d'être touché, car en comparaison, votre serveur Web et votre base de données peuvent être vulnérables aux inondations. les attaques s'effondrent en premier.

Ce qui précède est ce que j'ai compilé pour vous. J'espère que cela vous sera utile à l'avenir.

Articles connexes :

Le composant parent Vue appelle les méthodes et les événements du composant enfant

Arborescence élément-ui vue.js Comment pour changer iview du contrôle de forme

Analyse du code source Vue du processus de mise en œuvre d'Observer

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal