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使用mysql模块之获得更新和删除影响的行数的方法
Mar 18 NodeJs
nodejs npm install全局安装和本地安装的区别
Jun 05 NodeJs
nodejs下打包模块archiver详解
Dec 03 NodeJs
nodejs实现的一个简单聊天室功能分享
Dec 06 NodeJs
基于nodejs+express(4.x+)实现文件上传功能
Nov 23 NodeJs
nodejs的HTML分析利器node-jquery用法浅析
Nov 08 NodeJs
简单实现nodejs上传功能
Jan 14 NodeJs
nodejs开发——express路由与中间件
Mar 24 NodeJs
windows系统下更新nodejs版本的方案
Nov 24 NodeJs
利用nodeJs anywhere搭建本地服务器环境的方法
May 12 NodeJs
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
May 15 NodeJs
nodejs同步调用获取mysql数据时遇到的大坑
Mar 02 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 第三节 变量介绍
2012/04/28 PHP
php对图像的各种处理函数代码小结
2013/07/08 PHP
php mail to 配置详解
2014/01/16 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
2015/04/26 PHP
PHP自定义函数实现数组比较功能示例
2017/10/19 PHP
JavaScript面象对象设计
2008/04/28 Javascript
jquery怎样实现ajax联动框(一)
2013/03/08 Javascript
Jquery EasyUI的添加,修改,删除,查询等基本操作介绍
2013/10/11 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
2014/05/23 Javascript
jQuery中addClass()方法用法实例
2015/01/05 Javascript
JavaScript自定义等待wait函数实例分析
2015/03/23 Javascript
javascript实现手机震动API代码
2015/08/05 Javascript
JS实现的左侧竖向滑动菜单效果代码
2015/10/19 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
2017/03/02 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
2017/03/13 Javascript
JavaScript实现一个空中避难的小游戏
2017/06/06 Javascript
element ui 对话框el-dialog关闭事件详解
2018/02/26 Javascript
Node.js系列之发起get/post请求(2)
2019/08/30 Javascript
基于Web Audio API实现音频可视化效果
2020/06/12 Javascript
[40:05]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第一局
2016/02/25 DOTA
[08:53]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS 选手采访
2021/03/11 DOTA
Python用threading实现多线程详解
2017/02/03 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
2018/03/15 Python
解决python写入mysql中datetime类型遇到的问题
2018/06/21 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
2019/01/04 Python
Python判断对象是否相等及eq函数的讲解
2019/02/25 Python
python语言基本语句用法总结
2019/06/11 Python
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
2014/04/10 HTML / CSS
应届生船舶驾驶求职信
2013/10/19 职场文书
《玩具柜台前的孩子》教学反思
2014/02/13 职场文书
企业党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
初中生散播谣言检讨书
2014/11/17 职场文书
2014年稽查工作总结
2014/12/20 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
python库sklearn常用操作
2021/08/23 Python
nginx共享内存的机制详解
2022/03/21 Servers