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+express+html5 实现拖拽上传
Aug 08 NodeJs
NodeJS Web应用监听sock文件实例
Feb 18 NodeJs
nodejs简单实现中英文翻译
May 04 NodeJs
Highcharts+NodeJS搭建数据可视化平台示例
Jan 01 NodeJs
nodejs的压缩文件模块archiver用法示例
Jan 18 NodeJs
详解使用PM2管理nodejs进程
Oct 24 NodeJs
nodejs 如何手动实现服务器
Aug 20 NodeJs
nodejs高大上的部署方式(PM2)
Sep 11 NodeJs
NodeJS搭建HTTP服务器的实现步骤
Oct 12 NodeJs
CentOS7中源码编译安装NodeJS的完整步骤
Oct 13 NodeJs
5分钟教你用nodeJS手写一个mock数据服务器的方法
Sep 10 NodeJs
用Nodejs实现在终端中炒股的实现
Oct 18 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
自动跳转中英文页面
2006/10/09 PHP
一个ubbcode的函数,速度很快.
2006/10/09 PHP
php echo()和print()、require()和include()函数区别说明
2010/03/27 PHP
php expects parameter 1 to be resource, array given 错误
2011/03/23 PHP
php控制linux服务器常用功能 关机 重启 开新站点等
2012/09/05 PHP
IE6下拉框图层问题探讨及解决
2014/01/03 Javascript
页面加载完毕后滚动条自动滚动一定位置
2014/02/20 Javascript
jquery带翻页动画的电子杂志代码分享
2015/08/21 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
js removeChild 方法深入理解
2016/08/16 Javascript
js获取元素的标签名实现方法
2016/10/08 Javascript
js滚轮事件兼容性问题需要注意哪些
2016/11/15 Javascript
JavaScript定时器实现的原理分析
2016/12/06 Javascript
Json按某个键的值进行排序
2016/12/22 Javascript
微信小程序 图片加载(本地,网路)实例详解
2017/03/10 Javascript
Layui table 组件的使用之初始化加载数据、数据刷新表格、传参数
2017/09/11 Javascript
PWA介绍及快速上手搭建一个PWA应用的方法
2019/01/27 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
[01:04]DOTA2上海特锦赛现场采访 FreeAgain遭众解说围攻
2016/03/25 DOTA
python使用webbrowser浏览指定url的方法
2015/04/04 Python
Python标准库之collections包的使用教程
2017/04/27 Python
Python使用文件锁实现进程间同步功能【基于fcntl模块】
2017/10/16 Python
dataframe设置两个条件取值的实例
2018/04/12 Python
python中sort和sorted排序的实例方法
2019/08/26 Python
线程安全及Python中的GIL原理分析
2019/10/29 Python
基于python使用tibco ems代码实例
2019/12/20 Python
Python内置函数property()如何使用
2020/09/01 Python
Python实现扫码工具的示例代码
2020/10/09 Python
html5仿支付宝密码框的实现代码
2017/09/06 HTML / CSS
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
js正则匹配markdown里的图片标签的实现
2021/03/24 Javascript
巧克力蛋糕店创业计划书
2014/01/14 职场文书
创建卫生先进单位实施方案
2014/03/10 职场文书
诚信承诺书范文
2014/03/27 职场文书
祖国在我心中演讲稿300字
2014/05/04 职场文书
《中华上下五千年》读后感3篇
2019/11/29 职场文书