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写的一个简单项目打包工具
May 11 NodeJs
nodejs基础应用
Feb 03 NodeJs
搭建简单的nodejs http服务器详解
Mar 09 NodeJs
nodejs入门教程三:调用内部和外部方法示例
Apr 24 NodeJs
详解Nodejs之静态资源处理
Jun 05 NodeJs
Express+Nodejs 下的登录拦截实现代码
Jul 01 NodeJs
nodejs中sleep功能实现暂停几秒的方法
Jul 12 NodeJs
nodejs超出最大的调用栈错误问题
Dec 27 NodeJs
NodeJS实现不可逆加密与密码密文保存的方法
Mar 16 NodeJs
nodejs+mongodb aggregate级联查询操作示例
Mar 17 NodeJs
nodejs基于express实现文件上传的方法
Mar 19 NodeJs
nodejs 递归拷贝、读取目录下所有文件和目录
Jul 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
php header示例代码(推荐)
2010/09/08 PHP
php使用wordwrap格式化文本段落的方法
2015/03/17 PHP
php冒泡排序与快速排序实例详解
2015/12/07 PHP
Apply an AutoFormat to an Excel Spreadsheet
2007/06/12 Javascript
javascript中的几个运算符
2007/06/29 Javascript
document.open() 与 document.write()的区别
2007/08/13 Javascript
15 个 JavaScript Web UI 库
2010/05/19 Javascript
nodejs批量修改文件编码格式
2015/01/22 NodeJs
Javascript中With语句用法实例
2015/05/14 Javascript
JS弹出对话框实现方法(三种方式)
2015/12/18 Javascript
基于JavaScript实现智能右键菜单
2016/03/02 Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
2016/06/24 Javascript
省市区三级联动jquery实现代码
2020/04/15 Javascript
Javascript 动态改变imput type属性
2016/11/01 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
Windows安装Node.js报错:2503、2502的解决方法
2017/10/25 Javascript
vue-cli配置文件——config篇
2018/01/04 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
简单了解TypeScript中如何继承 Error 类
2019/06/21 Javascript
js实现轮播图效果 纯js实现图片自动切换
2020/08/09 Javascript
python实现apahce网站日志分析示例
2014/04/02 Python
Pyhton中防止SQL注入的方法
2015/02/05 Python
Python动态导入模块的方法实例分析
2018/06/28 Python
在python中只选取列表中某一纵列的方法
2018/11/28 Python
一行python实现树形结构的方法
2019/08/09 Python
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
html5 viewport使用方法示例详解
2013/12/02 HTML / CSS
Nuts.com:优质散装,批发坚果、干果和巧克力等
2017/03/21 全球购物
高性能装备提升营地:Kammok
2019/02/27 全球购物
员工晚婚的请假条
2014/02/08 职场文书
双语教学实施方案
2014/03/23 职场文书
关于保护环境的标语
2014/06/09 职场文书
关于安全的广播稿
2014/10/23 职场文书
2014年信访工作总结
2014/11/17 职场文书
贷款担保书范本
2015/09/22 职场文书
Java中Dijkstra(迪杰斯特拉)算法
2022/05/20 Java/Android