node.js中用户密码的加密

时间:2021-10-19 00:31:28

                     crypro实现用户密码的加密

  在实际的项目中,只要涉及到用户的信息,就是十分重要的.设想一下数据库里面存放的用户的密码是明文的形式,后果是有多严重.所以今天给大家分享一下express中怎样实现用户密码的加密.

   一:操作步骤

    1.搭建好express环境

    2.下载crypto模块

命令:npm install crypto 这是在局部安装(方便项目的移植,)

           命令:npm install crypto -g 全局安装(安装过一次之后,以后就可以直接使用了)

    3.封装成一个js文件,方便直接调用,避免每次使用都从头开始设置

           

const crypto = require("crypto"); //引入自己下载好的crypto模块
module.exports = { //把加密的功能封装成一个对象并且输出出去(即暴露此功能模块对象)
autograph:"my name is ydb", //这里可以不要,但是现在使用的是md5加密模式,不要这里的自定义字符串,别人拿到你的加密密码,还是可以通过md5解密器进行暴力破解的,加上此字符串就不能进行暴力破解了
md5:function (pass) {
const md5 = crypto.createHash("md5"); //设置加密模式为md5
md5.update(pass+this.autograph); //把传入的用户密码和自定义的字符串进行编译的到加密过后的密码
const result = md5.digest("hex"); //设置密码格式为16进制
return result;//返回后加密过后的密码
}
}

    4.之后需要加密操作就直接使用require引入上面写好的js文件

    例如: const crypto = require("js文件路径");

    const newpass = crypto.md5(oldpass)

    此时newpass就是加密过后的密码