Maison  >  Article  >  interface Web  >  Résumé Nodejs des méthodes de traitement du cryptage des mots de passe

Résumé Nodejs des méthodes de traitement du cryptage des mots de passe

php中世界最好的语言
php中世界最好的语言original
2018-05-03 17:53:332020parcourir

Cette fois, je vais vous apporter un résumé de la méthode de traitement du cryptage des mots de passe de nodejs. Quelles sont les précautions pour le traitement du cryptage des mots de passe de nodejs. Ce qui suit est un cas pratique, jetons un coup d'œil.

L'exemple de cet article décrit l'opération de traitement du 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, utilisez la méthode de cryptage

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

//导入加密模块
const crypto = require("crypto");

2. enregistrement de l'utilisateur, 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>
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("注册成功");
    }
  })
});

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

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

2. Faire correspondre le mot de passe crypté avec la 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("用户名或密码错误");
      }
    }
  })
})
<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>

4. Extension (généralement nous Traitement de cryptage)

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

2 Utilisez un cryptage réversible pour crypter les nombres aléatoires générés lors de la première étape
Réversible. le cryptage a
et Base64 cryptage (en particulier sur Baidu) Hex 3. Épisser le nombre aléatoire crypté dans la deuxième étape avec notre vrai mot de passe
4. Crypter 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. >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. 6)

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Vue.js+Flask pour créer une application d'une seule page (avec code)


Besoins à parcourir Comment écrire du JS pour un tableau multidimensionnel irrégulier

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