NodeJs crypto加密制作token的实现代码
人气:0Node.js 内置的 Crypto 库 ,它提供各种加密算法,可以非常方便地让我们使用密码技术,解决应用开发中的问题。主要支持 hash(哈希),hmac(密钥哈希),cipher(编码),decipher(解码),sign(签名)以及 verify(验证)等。crypto 英文原意就是秘密成员的意思。
使用方法大概如下:
crypto.createHash(algorithm) 指定使用的加密方式
var crypto = require("crypto");//加密 crypto.getHashes()
显示内部支持的加密方式。
- hash.update(data) 指定要加密的内容(data)
- hash.digest("hex") 指定加密的编码方式,可以为hex binary或者base64。
举个例子:
var crypto = require("crypto");//加密 var a = crypto.createHash("md5").update("12").digest('base64'); console.log(a)
加密结果为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}); } }); }); });
您可能感兴趣的文章:
- vue项目中js-cookie的使用存储token操作
- 详解Node.js使用token进行认证的简单示例
- node.js 微信开发之定时获取access_token
- php实现JWT(json web token)鉴权实例详解
- 详解JSON Web Token 入门教程
- Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
- node.js+captchapng+jsonwebtoken实现登录验证示例
- 详解Node.js access_token的获取、存储及更新
- JSON Web Tokens的实现原理
- JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
- JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
- token 机制和实现方式
加载全部内容