Node.js 数据加密传输浅析


Posted in Javascript onNovember 16, 2016

前言

数据加密传输,大家经常接触几个方式一个是密文传输,一个明文传输密文传输,就是用密钥对数据加密,使用公钥对数据解密,传输的通道可以是https的也可以是http的。明文传输,前提是建立一个安全的传输通道,这里使用证书对通道的安全做了防护,然后传输数据,使用的是明文。

比较专业的 可以后面慢慢分享,不过这里我就介绍下明文传输,如果是用nodejs建立安全通道

使用两个库,分别是urllib和request,这里的证书只介绍使用pfx文件

urllib库的方式

const urllibRequest = (url, method, data, pfx, pass) => {
 return new Promise(function(resolve, reject) {
  let options = {
   data: data,
   method: method,
   pfx: pfx,
   passphrase: pass,
   rejectUnauthorized: false
  }
  urllib.request(url, options, function(err, data, res) {
   if (err) {
    return reject(err);
   }
   return resolve(data.toString());
  });
 });
}

request库的方法

const httpRequest = (url, method, data, pfx, pass) => {
 return new Promise((resolve, reject) => {
  let options = {
   url: url,
   method: method,
   form: data,
   headers: {
    'Content-type': 'application/x-www-form-urlencoded'
   },
   agentOptions: {
    pfx: pfx,
    passphrase: pass,
    rejectUnauthorized: false
   }
  };
  request(options, function(err, httpResponse, data) {
   if (err) {
    return reject(err);
   }
   return resolve(data);
  })
 });
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
另类调用flash无须激活的方法
Dec 27 Javascript
一个不错的应用,用于提交获取文章内容,不推荐用
Mar 03 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
Jul 18 Javascript
.NET微信公众号开发之创建自定义菜单
Jul 16 Javascript
深入理解javascript函数参数与闭包
Dec 12 Javascript
jQuery实现select模糊查询(反射机制)
Jan 14 Javascript
细说webpack源码之compile流程-rules参数处理技巧(2)
Dec 26 Javascript
微信小程序实现图片压缩功能
Jan 26 Javascript
vue :src 文件路径错误问题的解决方法
May 15 Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
Oct 25 Javascript
微信小程序跳转到其他网页(外部链接)的实现方法
Sep 20 Javascript
element多个表单校验的实现
May 27 Javascript
JS中substring与substr的用法
Nov 16 #Javascript
微信小程序 网络请求(GET请求)详解
Nov 16 #Javascript
微信小程序 POST请求(网络请求)详解及实例代码
Nov 16 #Javascript
微信小程序 swiper组件轮播图详解及实例
Nov 16 #Javascript
input框中的name和id的区别
Nov 16 #Javascript
微信小程序 页面传参实例详解
Nov 16 #Javascript
JS中关于事件处理函数名后面是否带括号的问题
Nov 16 #Javascript
You might like
那些年一起学习的PHP(三)
2012/03/22 PHP
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
2014/06/26 PHP
ThinkPHP查询返回简单字段数组的方法
2014/08/25 PHP
PHP截取IE浏览器并缩小原图的方法
2016/03/04 PHP
YII框架http缓存操作示例
2019/04/29 PHP
jQuery 入门讲解1
2009/04/15 Javascript
js实现商城星星评分的效果
2015/12/29 Javascript
Bootstrap里的文件分别代表什么意思及其引用方法
2017/05/01 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
微信小程序实现倒计时调用相机自动拍照功能
2018/06/10 Javascript
AngularJS使用$http配置对象方式与服务端交互方法
2018/08/13 Javascript
jQuery UI实现动画效果代码分享
2018/08/19 jQuery
npm qs模块使用详解
2020/02/07 Javascript
[05:09]2016国际邀请赛中国区预选赛淘汰赛首日精彩回顾
2016/06/29 DOTA
[01:30]我们共输赢 完美世界城市挑战赛开启全新赛季
2019/04/19 DOTA
Mac 上切换Python多版本
2017/06/17 Python
python使用minimax算法实现五子棋
2019/07/29 Python
python3 写一个WAV音频文件播放器的代码
2019/09/27 Python
感知器基础原理及python实现过程详解
2019/09/30 Python
如何基于Python实现自动扫雷
2020/01/06 Python
python将音频进行变速的操作方法
2020/04/08 Python
用 Django 开发一个 Python Web API的方法步骤
2020/12/03 Python
CSS3实现翘边的阴影效果的代码示例
2016/06/13 HTML / CSS
澳大利亚第一旅行车和房车配件店:Caravan RV Camping
2020/12/26 全球购物
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
mysql有关权限的表都有哪几个
2015/04/22 面试题
英语专业毕业个人求职自荐信
2013/09/21 职场文书
校园文明倡议书
2014/05/16 职场文书
中国在我心中演讲稿
2014/09/13 职场文书
领导班子对照检查材料
2014/09/22 职场文书
“四风”问题自我剖析材料思想汇报
2014/09/23 职场文书
思想作风建设心得体会
2014/10/22 职场文书
公司离职证明标准格式
2014/11/18 职场文书
微信搭讪开场白
2015/05/28 职场文书
详解JavaScript的计时器和按钮效果设置
2022/02/18 Javascript
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server