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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容