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进程管理模块forever详解
Jun 01 NodeJs
nodejs npm package.json中文文档
Sep 04 NodeJs
nodejs实现HTTPS发起POST请求
Apr 23 NodeJs
基于nodejs+express(4.x+)实现文件上传功能
Nov 23 NodeJs
用nodejs搭建websocket服务器
Jan 23 NodeJs
用nodeJS搭建本地文件服务器的几种方法小结
Mar 16 NodeJs
nodejs入门教程六:express模块用法示例
Apr 24 NodeJs
Express+Nodejs 下的登录拦截实现代码
Jul 01 NodeJs
解决nodejs的npm命令无反应的问题
May 17 NodeJs
详解nodejs 配置文件处理方案
Jan 02 NodeJs
nodejs环境使用Typeorm连接查询Oracle数据
Dec 05 NodeJs
分享node.js实现简单登录注册的具体代码
Apr 26 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 文件夹删除、php清除缓存程序
2009/08/25 PHP
PHP的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
php基于Fleaphp框架实现cvs数据导入MySQL的方法
2016/02/23 PHP
js 提交和设置表单的值
2008/12/19 Javascript
Node.js开发指南中的简单实例(mysql版)
2013/09/17 Javascript
Json和Jsonp理论实例代码详解
2013/11/15 Javascript
node.js中的fs.lstatSync方法使用说明
2014/12/16 Javascript
JavaScript DOM基础
2015/04/13 Javascript
jQuery树形控件zTree使用小结
2016/08/02 Javascript
基于JavaScript实现的插入排序算法分析
2017/04/14 Javascript
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
2017/08/14 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
浅析vue中常见循环遍历指令的使用 v-for
2018/04/18 Javascript
swiper实现异形轮播效果
2019/11/28 Javascript
el-table树形表格表单验证(列表生成序号)
2020/05/31 Javascript
From CSV to SQLite3 by python 导入csv到sqlite实例
2020/02/14 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
python新手学习可变和不可变对象
2020/06/11 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
Python自动化之UnitTest框架实战记录
2020/09/08 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
html5中为audio标签增加停止按钮动作实现方法
2013/01/04 HTML / CSS
极简的HTML5模版
2015/07/09 HTML / CSS
乐天旅游台湾网站:Rakuten Travel TW
2017/06/01 全球购物
购买美国制造的相框和画框架:Picture Frames
2018/08/14 全球购物
JoJo Maman Bébé爱尔兰官网:英国最受欢迎的精品母婴品牌
2020/12/20 全球购物
sleep()方法和wait()方法的区别是什么
2012/11/17 面试题
两年的个人工作自我评价
2014/01/10 职场文书
收银员的岗位职责范本
2014/02/04 职场文书
员工拓展培训方案
2014/02/15 职场文书
离婚协议书范本样本
2014/08/19 职场文书
入党积极分子自我批评思想汇报
2014/10/10 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
2015年技术工作总结范文
2015/04/20 职场文书
学长教您写论文:经验总结
2019/07/09 职场文书
详解MongoDB排序时内存大小限制与创建索引的注意事项
2022/05/06 MongoDB