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学习笔记之测试驱动
Apr 16 NodeJs
iPhone手机上搭建nodejs服务器步骤方法
Jul 06 NodeJs
使用nodejs下载风景壁纸
Feb 05 NodeJs
Nodejs 获取时间加手机标识的32位标识实现代码
Mar 07 NodeJs
Nodejs--post的公式详解
Apr 29 NodeJs
深入理解nodejs中Express的中间件
May 19 NodeJs
详解nodejs通过代理(proxy)发送http请求(request)
Sep 22 NodeJs
基于nodejs实现微信支付功能
Dec 20 NodeJs
nodejs acl的用户权限管理详解
Mar 14 NodeJs
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
Jul 31 NodeJs
NodeJS 文件夹拷贝以及删除功能
Sep 03 NodeJs
nodejs nedb 封装库与使用方法示例
Feb 06 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中static关键字原理的学习研究分析
2011/07/18 PHP
php中判断文件存在是用file_exists还是is_file的整理
2012/09/12 PHP
PHP中常用的字符串格式化函数总结
2014/11/19 PHP
Yii扩展组件编写方法实例分析
2015/06/29 PHP
PHP保存session到memcache服务器的方法
2016/01/19 PHP
PHP中file_exists使用中遇到的问题小结
2016/04/05 PHP
基于JQuery的抓取博客园首页RSS的代码
2011/12/01 Javascript
jQuery中die()方法用法实例
2015/01/19 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
简述jQuery ajax的执行顺序
2016/01/05 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
2016/05/10 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
2016/07/07 Javascript
微信小程序自定义模态对话框实例详解
2017/08/16 Javascript
JS实现520 表白简单代码
2018/05/21 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
从vue源码看props的用法
2019/01/09 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
nodejs检测因特网是否断开的解决方案
2019/04/17 NodeJs
微信小程序开发(二):页面跳转并传参操作示例
2020/06/01 Javascript
详解JavaScript自定义函数
2020/07/29 Javascript
python通过自定义isnumber函数判断字符串是否为数字的方法
2015/04/23 Python
Python实现一个Git日志统计分析的小工具
2017/12/14 Python
从DataFrame中提取出Series或DataFrame对象的方法
2018/11/10 Python
Python + Requests + Unittest接口自动化测试实例分析
2019/12/12 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
2020/08/07 Python
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
营销专业应届生求职信
2013/11/26 职场文书
募捐倡议书
2014/04/14 职场文书
我的中国梦演讲稿600字
2014/08/19 职场文书
2014乡镇党委副书记对照检查材料思想汇报
2014/10/09 职场文书
2014年乡镇妇联工作总结
2014/12/02 职场文书
2015年度环卫处工作总结
2015/07/24 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书
详细谈谈MYSQL中的COLLATE是什么
2021/06/11 MySQL
Winsows11性能如何? win11性能测评多核竟比Win10差了10%
2021/11/21 数码科技