Maison  >  Article  >  interface Web  >  Comment utiliser nodejs pour crypter les mots de passe

Comment utiliser nodejs pour crypter les mots de passe

php中世界最好的语言
php中世界最好的语言original
2018-06-15 10:54:022245parcourir

Cette fois, je vais vous montrer comment utiliser nodejs pour chiffrer les mots de passe. Quelles sont les précautions à prendre pour utiliser nodejs pour chiffrer les mots de passe. Voici un cas pratique, jetons un coup d'oeil.

1. Introduction au node module de chiffrement crypto

En fait Il est crypté à l'aide de MD5, ce qui n'est pas très sûr. En développement réel, vous pouvez ajouter du sel selon votre propre plan

2. Utilisez la méthode de cryptage dans la vue de routage

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

//导入加密模块
const crypto = require("crypto");
2. Créez une vue d'enregistrement de l'utilisateur et de cryptage du 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. Chiffrez le mot de passe saisi par l'utilisateur de la même manière

2. Faites correspondre

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>
dans la base de données. 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 :

Comparaison entre la méthode d'ajout dynamique JS et la méthode d'ajout dynamique PHP

p5.js fait fleurir les feux d'artifice Animation

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