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 模块开发及发布详解分享
Mar 07 NodeJs
windows系统下简单nodejs安装及环境配置
Jan 08 NodeJs
nodeJS代码实现计算交社保是否合适
Mar 09 NodeJs
nodejs中实现阻塞实例
Mar 24 NodeJs
浅析Nodejs npm常用命令
Jun 14 NodeJs
nodejs 终端打印进度条实例代码
Apr 22 NodeJs
深入学习nodejs中的async模块的使用方法
Jul 12 NodeJs
nodejs 使用http进行post或get请求的实例(携带cookie)
Jan 03 NodeJs
Nodejs让异步变成同步的方法
Mar 02 NodeJs
详解nodejs 开发企业微信第三方应用入门教程
Mar 12 NodeJs
nodeJS与MySQL实现分页数据以及倒序数据
Jun 05 NodeJs
Nodejs实现微信分账的示例代码
Jan 19 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微信公众号开发模式详解
2016/11/28 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
2016/12/19 PHP
PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
2019/02/16 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
2019/10/17 PHP
CCPry JS类库 代码
2009/10/30 Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
2013/04/07 Javascript
用示例说明filter()与find()的用法以及children()与find()的区别分析
2013/04/26 Javascript
JQuery在页面中添加和除移DOM示例代码
2013/06/24 Javascript
jQuery下的动画处理总结
2013/10/10 Javascript
简单易用的倒计时js代码
2014/08/04 Javascript
JavaScript中的逻辑判断符&&、||与!介绍
2014/12/31 Javascript
AngularJs验证重复密码的方法(两种)
2016/11/25 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
2018/01/03 Javascript
webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)
2018/01/09 Javascript
浅谈node.js 命令行工具(cli)
2018/05/10 Javascript
vue cli2.0单页面title修改方法
2018/06/07 Javascript
react native基于FlatList下拉刷新上拉加载实现代码示例
2018/09/30 Javascript
vue界面发送表情的实现代码
2020/09/11 Javascript
python 提取文件的小程序
2009/07/29 Python
跟老齐学Python之用Python计算
2014/09/12 Python
python递归查询菜单并转换成json实例
2017/03/27 Python
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
2018/04/06 Python
python贪婪匹配以及多行匹配的实例讲解
2018/04/19 Python
Python中Numpy包的安装与使用方法简明教程
2018/07/03 Python
python的range和linspace使用详解
2019/11/27 Python
python如何删除列为空的行
2020/07/17 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
什么是跨站脚本攻击
2014/12/11 面试题
自动化系在校本科生求职信
2013/10/23 职场文书
住宿生擅自离校检讨书
2014/09/22 职场文书
2015年社区矫正工作总结
2015/04/21 职场文书
2015年秋季小学开学标语
2015/07/16 职场文书
教师节主题班会方案
2015/08/17 职场文书
试了下Golang实现try catch的方法
2021/07/01 Golang
vue组件冲突之引用另一个组件出现组件不显示的问题
2022/04/13 Vue.js
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL