首页 > web前端 > js教程 > 如何操作nodejs对密码进行加密

如何操作nodejs对密码进行加密

php中世界最好的语言
发布: 2018-06-15 10:54:02
原创
2278 人浏览过

这次给大家带来如何操作nodejs对密码进行加密,操作nodejs对密码进行加密的注意事项有哪些,下面就是实战案例,一起来看一下。

一、关于node加密模块crypto的介绍

其实就是使用MD5加密的,不太安全,在实际开发中根据自己的方案进行加盐处理

二、在路由视图中使用加密方式

1、导入node自带的加密模块(不需要安装)

1

2

//导入加密模块

const crypto = require("crypto");

登录后复制

2、做一个用户注册,密码加密的视图

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<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>

登录后复制

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

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("注册成功");

    }

  })

});

登录后复制

三、用户登录进行密码校验

1、把用户输入的密码用同样的方式加密处理
2、把加密后的密码与数据库中匹配

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

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("用户名或密码错误");

      }

    }

  })

})

登录后复制

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<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>

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

JS动态添加方法与PHP动态添加方法比较

p5.js做出礼花绽放动画

以上是如何操作nodejs对密码进行加密的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板