Maison > Article > interface Web > Comment implémenter un cryptage irréversible et un stockage de texte de chiffrement de mot de passe dans NodeJS
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'
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!