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和BootStrap分页效果的实现代码
Nov 07 NodeJs
Jquery通过ajax请求NodeJS返回json数据实例
Nov 08 NodeJs
nodejs 终端打印进度条实例代码
Apr 22 NodeJs
nodejs+websocket实时聊天系统改进版
May 18 NodeJs
Nodejs搭建wss服务器教程
May 24 NodeJs
浅析 NodeJs 的几种文件路径
Jun 07 NodeJs
nodejs连接mysql数据库及基本知识点详解
Mar 20 NodeJs
nodejs中密码加密处理操作详解
Mar 20 NodeJs
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
May 15 NodeJs
nodejs的路径问题的解决
Jun 30 NodeJs
nodejs使用async模块同步执行的方法
Mar 02 NodeJs
浅谈vue websocket nodeJS 进行实时通信踩到的坑
Sep 22 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
全国FM电台频率大全 - 10 江苏省
2020/03/11 无线电
PHP 基于Yii框架中使用smarty模板的方法详解
2013/06/13 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
2014/05/10 PHP
PHPExcel笔记, mpdf导出
2016/05/03 PHP
php中的依赖注入实例详解
2019/08/14 PHP
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
Javascript中浮点数相乘的一个解决方法
2014/06/03 Javascript
Javascript获取CSS伪元素属性的实现代码
2014/09/28 Javascript
js点击选择文本的方法
2015/02/09 Javascript
JQuery实现可直接编辑的表格
2015/04/16 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
巧用数组制作图片切换js代码
2016/11/29 Javascript
js仿搜狐视频记录片列表展示效果
2020/05/30 Javascript
json的结构与遍历方法实例分析
2017/04/25 Javascript
Vue实现内部组件轮播切换效果的示例代码
2018/04/07 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
2019/09/23 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
Django使用Celery异步任务队列的使用
2018/03/13 Python
解决pycharm无法识别本地site-packages的问题
2018/10/13 Python
python requests 库请求带有文件参数的接口实例
2019/01/03 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
使用Django搭建web服务器的例子(最最正确的方式)
2019/08/29 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
python网络编程之五子棋游戏
2020/05/14 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
Python使用requests模块爬取百度翻译
2020/08/25 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
css3实现小箭头各种图形效果
2020/07/08 HTML / CSS
荷兰音乐会和音乐剧门票订购网站:Topticketshop
2019/08/27 全球购物
大学毕业生通用求职信
2013/09/28 职场文书
外贸英语毕业生自荐信
2013/11/14 职场文书
2015年十一国庆节演讲稿
2015/03/20 职场文书
MySQL窗口函数的具体使用
2021/11/17 MySQL
Python进程间的通信之语法学习
2022/04/11 Python