MD5加密注册登录

当用户在注册的时候,注册进去存到数据库的密码是明码显示的,这样是不安全的,所以我们在注册的时候可以使用MD5的加密方式将用户的密码进行加密后存进数据库。

使用MD5要引入var crypto = require("crypto");这个模块;
在这里将MD5封装成一个模块称为:MD5.js

/**
 * Created by Danny on 2015/9/26 10:05.
 */
var crypto = require("crypto");
module.exports = function(mingma){
    var md5 = crypto.createHash('md5');
    var password = md5.update(mingma).digest('base64');
    return password;
};

在后面使用的时候,只要require后直接调用即可。

接下来进行注册操作:

// 执行注册
app.post('/doRegister',function (req,res) {
   var username = req.body.username;//获取用户输入的username
   var password = req.body.password;//获取用户输入的password
   password = md5(password);//加密后的password,这里可以无限的加密
   db.insertOne("user",{
         "username":username,
         "password":password
   },function (err,result) {
         if(err){
            res.send('-1')
         }
         res.send('1')
   })
});

这样注册进去后 在数据显示的密码就是加密后的:

Paste_Image.png

相对应的在登录的时候,把用户输入的密码按照同样的方式加密后取数据库进行比对,进行登录操作:

// 登录操作
app.post('/login',function (req,res) {
    var username = req.body.username;
    var password = req.body.password;
    password = md5(password);//用户输入完,加密后的password
    db.find("user",{"username":username},function (err,result) {
       console.log(result[0].password);
        if(result.length==0){
           res.send('用户不存在')
        } else if(result[0].password==password){   //数据库与用户输入的比对
            res.send("1");
        }else {
            res.send('-999');
        }
    })
});

github地址:https://github.com/17868804701/NodeMD5.git

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容