NodeJs crypto加密制作token的实现代码


Posted in NodeJs onNovember 15, 2019

Node.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 加密工具加密的相同

NodeJs crypto加密制作token的实现代码

二、制作 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});
      }
    });
  });
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
用nodejs写的一个简单项目打包工具
May 11 NodeJs
Nodejs实现的一个静态服务器实例
Dec 06 NodeJs
nodejs 实现钉钉ISV接入的加密解密方法
Jan 16 NodeJs
使用nodejs下载风景壁纸
Feb 05 NodeJs
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
Mar 28 NodeJs
NodeJs使用Mysql模块实现事务处理实例
May 31 NodeJs
Nodejs中使用phantom将html转为pdf或图片格式的方法
Sep 18 NodeJs
nodejs使用http模块发送get与post请求的方法示例
Jan 08 NodeJs
Nodejs让异步变成同步的方法
Mar 02 NodeJs
NodeJs入门教程之定时器和队列
Mar 08 NodeJs
Nodejs中使用puppeteer控制浏览器中视频播放功能
Aug 26 NodeJs
nodejs利用readline提示输入内容实例代码
Jul 15 NodeJs
Nodejs技巧之Exceljs表格操作用法示例
Nov 06 #NodeJs
NodeJS http模块用法示例【创建web服务器/客户端】
Nov 05 #NodeJs
nodejs实现UDP组播示例方法
Nov 04 #NodeJs
nodejs dgram模块广播+组播的实现示例
Nov 04 #NodeJs
Nodejs实现图片上传、压缩预览、定时删除功能
Oct 25 #NodeJs
nodejs语言实现验证码生成功能的示例代码
Oct 13 #NodeJs
NodeJS有难度的面试题(能答对几个)
Oct 09 #NodeJs
You might like
php 特殊字符处理函数
2008/09/05 PHP
php上传大文件失败的原因及应对策略
2015/10/20 PHP
php实现CSV文件导入和导出
2015/10/24 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
2016/01/11 PHP
PHP替换Word中变量并导出PDF图片的实现方法
2020/11/26 PHP
pjblog中的UBBCode.js
2007/04/25 Javascript
大家未必知道的Js技巧收藏
2008/04/07 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
2012/03/15 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
2015/08/11 Javascript
jquery ezUI 双击行记录弹窗查看明细的实现方法
2016/06/01 Javascript
jQuery组件easyui基本布局实现代码
2016/08/25 Javascript
AngularJS压缩JS技巧分析
2016/11/08 Javascript
深入学习Bootstrap表单
2016/12/13 Javascript
浅析webpack 如何优雅的使用tree-shaking(摇树优化)
2017/08/16 Javascript
微信小程序实现文字跑马灯
2020/05/26 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
Vue动态生成表格的行和列
2019/07/18 Javascript
React Native登录之指纹登录篇的示例代码
2020/11/03 Javascript
python基于http下载视频或音频
2018/06/20 Python
python制作简单五子棋游戏
2019/06/18 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
使用python serial 获取所有的串口名称的实例
2019/07/02 Python
python实现最小二乘法线性拟合
2019/07/19 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
python软件都是免费的吗
2020/06/18 Python
python集合能干吗
2020/07/19 Python
基于 HTML5 的 WebGL 3D 版俄罗斯方块的示例代码
2018/05/28 HTML / CSS
html5的自定义data-*属性与jquery的data()方法的使用
2014/07/02 HTML / CSS
NFL墨西哥官方商店:Tienda NFL
2017/11/28 全球购物
开办饭店创业计划书
2013/12/28 职场文书
违反校纪校规检讨书
2014/02/15 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
中班下学期个人总结
2015/02/12 职场文书
医院志愿者活动总结
2015/05/06 职场文书
乔布斯辞职信(中英文对照)
2015/05/12 职场文书
Laravel中获取IP的真实地理位置
2021/04/01 PHP