NodeJs crypto加密制作token的實現(xiàn)代碼
Node.js 內(nèi)置的 Crypto 庫 ,它提供各種加密算法,可以非常方便地讓我們使用密碼技術(shù),解決應(yīng)用開發(fā)中的問題。主要支持 hash(哈希),hmac(密鑰哈希),cipher(編碼),decipher(解碼),sign(簽名)以及 verify(驗證)等。crypto 英文原意就是秘密成員的意思。
使用方法大概如下:
crypto.createHash(algorithm) 指定使用的加密方式
var crypto = require("crypto");//加密 crypto.getHashes()
顯示內(nèi)部支持的加密方式。
- hash.update(data) 指定要加密的內(nèi)容(data)
- hash.digest("hex") 指定加密的編碼方式,可以為hex binary或者base64。
舉個例子:
var crypto = require("crypto");//加密 var a = crypto.createHash("md5").update("12").digest('base64'); console.log(a)
加密結(jié)果為c20ad4d76fe97759aa27a0c99bff6710 對比使用 MD5 加密工具加密的相同
二、制作 token
// //登陸 app.post("/login" , (req,res)=>{ //處理post請求 var form = new formidable.IncomingForm(); form.parse(req, function(err, fields, files) { //判定是否正確登陸 User.find({ "username" : fields.username , "password" : fields.password }).exec((err,docs)=>{ if(docs.length){ //登陸成功 req.session.login = true; req.session.username = fields.username; var token = crypto.createHash("sha256").update(fields.username + fields.username).digest('hex'); res.json({"result" : 1 , "token": token}); }else{ res.json({"result" : -1}); } }); }); });
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
node連接mysql查詢事務(wù)處理的實現(xiàn)
本文主要介紹了node連接mysql查詢事務(wù)處理的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11nodejs 圖解express+supervisor+ejs的用法(推薦)
下面小編就為大家?guī)硪黄猲odejs 圖解express+supervisor+ejs的用法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09