MD5加密注冊(cè)登錄

當(dāng)用戶在注冊(cè)的時(shí)候,注冊(cè)進(jìn)去存到數(shù)據(jù)庫(kù)的密碼是明碼顯示的,這樣是不安全的,所以我們?cè)谧?cè)的時(shí)候可以使用MD5的加密方式將用戶的密碼進(jìn)行加密后存進(jìn)數(shù)據(jù)庫(kù)。

使用MD5要引入var crypto = require("crypto");這個(gè)模塊;
在這里將MD5封裝成一個(gè)模塊稱為: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;
};

在后面使用的時(shí)候,只要require后直接調(diào)用即可。

接下來(lái)進(jìn)行注冊(cè)操作:

// 執(zhí)行注冊(cè)
app.post('/doRegister',function (req,res) {
   var username = req.body.username;//獲取用戶輸入的username
   var password = req.body.password;//獲取用戶輸入的password
   password = md5(password);//加密后的password,這里可以無(wú)限的加密
   db.insertOne("user",{
         "username":username,
         "password":password
   },function (err,result) {
         if(err){
            res.send('-1')
         }
         res.send('1')
   })
});

這樣注冊(cè)進(jìn)去后 在數(shù)據(jù)顯示的密碼就是加密后的:

Paste_Image.png

相對(duì)應(yīng)的在登錄的時(shí)候,把用戶輸入的密碼按照同樣的方式加密后取數(shù)據(jù)庫(kù)進(jìn)行比對(duì),進(jìn)行登錄操作:

// 登錄操作
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){   //數(shù)據(jù)庫(kù)與用戶輸入的比對(duì)
            res.send("1");
        }else {
            res.send('-999');
        }
    })
});

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容