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学习笔记之NET模块
Jan 13 NodeJs
NodeJS中利用Promise来封装异步函数
Feb 25 NodeJs
NodeJs中的VM模块详解
May 06 NodeJs
Nodejs获取网络数据并生成Excel表格
Mar 31 NodeJs
详解nodejs微信公众号开发——6.自定义菜单
Apr 13 NodeJs
nodejs 终端打印进度条实例代码
Apr 22 NodeJs
CentOS 安装NodeJS V8.0.0的方法
Jun 15 NodeJs
nodejs搭建本地服务器轻松解决跨域问题
Mar 21 NodeJs
详解从NodeJS搭建中间层再谈前后端分离
Nov 13 NodeJs
nodejs 使用 js 模块的方法实例详解
Dec 04 NodeJs
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
Feb 06 NodeJs
用Nodejs实现在终端中炒股的实现
Oct 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_Flame(Version:Progress)的原代码
2006/10/09 PHP
php代码书写习惯优化小结
2013/06/20 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
thinkPHP5.0框架开发规范简介
2017/03/25 PHP
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
js面向对象之静态方法和静态属性实例分析
2015/01/10 Javascript
纯js实现仿QQ邮箱弹出确认框
2015/04/29 Javascript
js数组去重的5种算法实现
2015/11/04 Javascript
AngularJS中指令的四种基本形式实例分析
2016/11/22 Javascript
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
Bootstrap框架建立树形菜单(Tree)的实例代码
2017/10/30 Javascript
基于打包工具Webpack进行项目开发实例
2018/05/29 Javascript
angularjs手动识别字符串中的换行符方法
2018/10/02 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
2019/01/20 Javascript
解决webpack多页面内存溢出的方法示例
2019/10/08 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
2020/08/22 Javascript
js+css3实现简单时钟特效
2020/09/13 Javascript
[00:31]DOTA2荣耀之路7:Miracle-空血无敌斩
2018/05/31 DOTA
Python实现的金山快盘的签到程序
2013/01/17 Python
Python 3.x读写csv文件中数字的方法示例
2017/08/29 Python
python实现将一个数组逆序输出的方法
2018/06/25 Python
numpy按列连接两个维数不同的数组方式
2019/12/06 Python
Python定义函数实现累计求和操作
2020/05/03 Python
Python生成器next方法和send方法区别详解
2020/05/30 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
2020/07/01 Python
装修五一活动策划案
2014/01/23 职场文书
法律专业学生的自我评价
2014/02/07 职场文书
爱岗敬业演讲稿
2014/05/05 职场文书
超市开业庆典策划方案
2014/05/14 职场文书
个人校本研修方案
2014/05/26 职场文书
高中同学会活动方案
2014/08/14 职场文书
党员示范岗材料
2014/12/19 职场文书
继承权公证书范本
2015/01/23 职场文书
获奖感言怎么写
2015/07/31 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
vue完美实现el-table列宽自适应
2021/05/08 Vue.js