Maison > interface Web > js tutoriel > le corps du texte

Explication détaillée des opérations de traitement de cryptage de mot de passe dans nodejs

亚连
Libérer: 2018-05-25 16:30:23
original
1641 Les gens l'ont consulté

Cet article présente principalement l'opération de traitement de cryptage des mots de passe dans nodejs, et analyse les techniques de mise en œuvre et les précautions liées à l'opération de traitement de cryptage de nodejs pour les mots de passe de connexion des utilisateurs sous forme d'exemples. Les amis dans le besoin peuvent se référer à cet article

L'exemple décrit l'opération de traitement de cryptage des mots de passe dans nodejs. Partagez-le avec tout le monde pour votre référence, comme suit :

1. Introduction au nodemodule de cryptage crypto

En fait, il est crypté à l'aide de MD5, ce qui n'est pas très sûr. En développement réel, le salage est effectué selon votre propre plan

2. Dans la vue de routage Utiliser la méthode de chiffrement

1. Importez le module de chiffrement fourni avec le nœud (aucune installation requise)

//导入加密模块
const crypto = require("crypto");
Copier après la connexion

2. Effectuer une inscription d'utilisateur et une vue cryptée par mot de passe

<p class="col-md-6">
  <h4>用户注册</h4>
  <form role="form" method="post" action="/regest">
    <p class="form-group">
      <label for="username">用户名:</label>
      <input id="username" type="text" placeholder="请输入用户名" name="username" class="form-control"/>
    </p>
    <p class="form-group">
      <label for="password">密码:</label>
      <input id="password" type="password" placeholder="请输入密码" name="password" class="form-control"/>
    </p>
    <p class="form-group">
      <input type="submit" value="提交" class="btn btn-success"/>
    </p>
  </form>
</p>
Copier après la connexion

router.post("/regest",(req,res)=>{
  console.log(req.body);
  let name = req.body.username;
  let password = req.body.password;
  let md5 = crypto.createHash("md5");
  let newPas = md5.update(password).digest("hex");
  db("insert into user1(name,password) values(?,?)",[name,newPas],(err,data)=>{
    if (err){
      res.send("注册失败");
    }
    console.log(data);
    if (data){
      res.send("注册成功");
    }
  })
});
Copier après la connexion

3. Connexion de l'utilisateur pour la vérification du mot de passe

1. Cryptez le mot de passe saisi par l'utilisateur de la même manière

2. Faites correspondre le mot de passe crypté avec le base de données

router.post("/login",(req,res)=>{
  let name = req.body.username;
  let password = req.body.password;
  let md5 = crypto.createHash("md5");
  let newPas = md5.update(password).digest("hex");
  db("select * from user1 where name = ?",[name],(err,data)=>{
    console.log(data[0].password);
    if (err){
      res.send("发生错误");
    }
    if (data){
      if (data[0].password === newPas){
        res.send("登录成功");
      }else {
        res.send("用户名或密码错误");
      }
    }
  })
})
Copier après la connexion

<p class="col-md-6">
  <h4>用户登录</h4>
  <form role="form" method="post" action="/login">
    <p class="form-group">
      <label for="username2">用户名:</label>
      <input id="username2" type="text" placeholder="请输入用户名" name="username" class="form-control"/>
    </p>
    <p class="form-group">
      <label for="password">密码:</label>
      <input id="password" type="password" placeholder="请输入密码" name="password" class="form-control"/>
    </p>
    <p class="form-group">
      <input type="submit" value="提交" class="btn btn-success" id="sub-btn2"/>
    </p>
  </form>
</p>
Copier après la connexion

4. Expansion (généralement nous chiffrons it )

1. Utilisez des nombres aléatoires pour générer aléatoirement un certain nombre de chiffres

2 Utilisez le cryptage réversible pour crypter les nombres aléatoires générés lors de la première étape
Le cryptage réversible a.
et Base64 Cryptage (spécifiquement sur Baidu) Hex 3. Associez le nombre aléatoire crypté lors de la deuxième étape avec notre vrai mot de passe
4. Cryptez la troisième étape (
) MD5 5. Effectuez un cryptage réversible dans la quatrième étape
6. Transformez le mot de passe généré aux deuxième et cinquième étapes en un mot de passe

5. Extension (généralement notre connexion cryptée)

1. Obtenez le mot de passe lors de la connexion

2 Interceptez la section de cryptage par nombre aléatoire du mot de passe obtenu
3. Répétez la méthode de cryptage ci-dessus (3,4, 5,6).

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

Articles associés :

Comment utiliser le contrôle de notation d'AjaxToolKit

Implémentation du téléchargement de fichiers avec barre de progression basée sur Ajax technologie

Discuter des problèmes liés à readyState et au statut dans Ajax

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!