NodeJs crypto加密制作token的实现代码
Node.js内置的Crypto库,它提供各种加密算法,可以非常方便地让我们使用密码技术,解决应用开发中的问题。主要支持hash(哈希),hmac(密钥哈希),cipher(编码),decipher(解码),sign(签名)以及verify(验证)等。crypto英文原意就是秘密成员的意思。
使用方法大概如下:
crypto.createHash(algorithm)指定使用的加密方式
varcrypto=require("crypto");//加密 crypto.getHashes()
显示内部支持的加密方式。
- hash.update(data)指定要加密的内容(data)
- hash.digest("hex")指定加密的编码方式,可以为hexbinary或者base64。
举个例子:
varcrypto=require("crypto");//加密 vara=crypto.createHash("md5").update("12").digest('base64'); console.log(a)
加密结果为c20ad4d76fe97759aa27a0c99bff6710对比使用MD5加密工具加密的相同
二、制作token
////登陆 app.post("/login",(req,res)=>{ //处理post请求 varform=newformidable.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; vartoken=crypto.createHash("sha256").update(fields.username+fields.username).digest('hex'); res.json({"result":1,"token":token}); }else{ res.json({"result":-1}); } }); }); });
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。