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的交互示例代码
Aug 18 NodeJs
跟我学Nodejs(三)--- Node.js模块
May 25 NodeJs
nodejs实现的一个简单聊天室功能分享
Dec 06 NodeJs
Nodejs如何搭建Web服务器
Mar 28 NodeJs
详解nodejs微信公众号开发——2.自动回复
Apr 10 NodeJs
nodejs个人博客开发第一步 准备工作
Apr 12 NodeJs
nodejs和C语言插入mysql数据库乱码问题的解决方法
Apr 14 NodeJs
Nodejs读取文件时相对路径的正确写法(使用fs模块)
Apr 27 NodeJs
nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较
Sep 18 NodeJs
nodejs微信扫码支付功能实现
Feb 17 NodeJs
Nodejs把接收图片base64格式保存为文件存储到服务器上
Sep 26 NodeJs
nodejs+koa2 实现模仿springMVC框架
Oct 21 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中用header图片地址 简单隐藏图片源地址
2008/04/09 PHP
php创建基本身份认证站点的方法详解
2013/06/08 PHP
php calender(日历)二个版本代码示例(解决2038问题)
2013/12/24 PHP
php通过隐藏表单控件获取到前两个页面的url
2014/09/09 PHP
制作安全性高的PHP网站的几个实用要点
2014/12/30 PHP
PHP加密解密实例分析
2015/12/25 PHP
jQuery 注意事项 与原因分析
2009/04/24 Javascript
js检测浏览器版本、核心、是否移动端示例
2014/04/24 Javascript
jquery 显示*天*时*分*秒实现时间计时器
2014/05/07 Javascript
jQuery控制的不同方向的滑动(向左、向右滑动等)
2014/07/18 Javascript
javascript实现playfair和hill密码算法
2014/12/07 Javascript
学习JavaScript设计模式(链式调用)
2015/11/26 Javascript
JS实现的仿淘宝交易倒计时效果
2015/11/27 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
2017/03/02 Javascript
jQuery EasyUI结合zTree树形结构制作web页面
2017/09/01 jQuery
在小程序中使用腾讯视频插件播放教程视频的方法
2018/07/10 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
2018/09/04 Javascript
Vue 框架之动态绑定 css 样式实例分析
2018/11/14 Javascript
微信小程序学习笔记之登录API与获取用户信息操作图文详解
2019/03/29 Javascript
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
django-rest-framework解析请求参数过程详解
2019/07/18 Python
Python中的相关分析correlation analysis的实现
2019/08/29 Python
Keras Convolution1D与Convolution2D区别说明
2020/05/22 Python
如何查看python关键字
2021/01/17 Python
html5的新玩法——语音搜索
2013/01/03 HTML / CSS
母亲七十大寿答谢词
2014/01/18 职场文书
先进事迹报告会感言
2014/01/24 职场文书
医学生个人求职信范文
2014/02/07 职场文书
《登鹳雀楼》教学反思
2014/04/09 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
2015年司法所工作总结
2015/04/27 职场文书
行政撤诉申请书
2015/05/18 职场文书
社区安置帮教工作总结2015
2015/05/20 职场文书
防卫过当辩护词
2015/05/21 职场文书
毕业实习感受与体会
2015/05/26 职场文书
2015年七夕情人节感言
2015/08/03 职场文书