NodeJs crypto加密制作token的實(shí)現(xiàn)代碼
Node.js 內(nèi)置的 Crypto 庫 ,它提供各種加密算法,可以非常方便地讓我們使用密碼技術(shù),解決應(yīng)用開發(fā)中的問題。主要支持 hash(哈希),hmac(密鑰哈希),cipher(編碼),decipher(解碼),sign(簽名)以及 verify(驗(yàn)證)等。crypto 英文原意就是秘密成員的意思。
使用方法大概如下:
crypto.createHash(algorithm) 指定使用的加密方式
var crypto = require("crypto");//加密 crypto.getHashes()
顯示內(nèi)部支持的加密方式。
- hash.update(data) 指定要加密的內(nèi)容(data)
- hash.digest("hex") 指定加密的編碼方式,可以為hex binary或者base64。
舉個(gè)例子:
var crypto = require("crypto");//加密 var a = crypto.createHash("md5").update("12").digest('base64'); console.log(a)
加密結(jié)果為c20ad4d76fe97759aa27a0c99bff6710 對(duì)比使用 MD5 加密工具加密的相同
二、制作 token
// //登陸 app.post("/login" , (req,res)=>{ //處理post請(qǐng)求 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)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
node連接mysql查詢事務(wù)處理的實(shí)現(xiàn)
本文主要介紹了node連接mysql查詢事務(wù)處理的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11Node.js使用對(duì)話框ngDialog的示例代碼
本篇文章主要介紹了Node.js使用對(duì)話框ngDialog的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05nodejs 圖解express+supervisor+ejs的用法(推薦)
下面小編就為大家?guī)硪黄猲odejs 圖解express+supervisor+ejs的用法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09測(cè)試驅(qū)動(dòng)ChatGPT編程示例詳解
這篇文章主要為大家介紹了測(cè)試驅(qū)動(dòng)ChatGPT編程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03