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 相关文章推荐
Javascript Object.extend
May 18 Javascript
jQuery 表单验证扩展代码(一)
Oct 11 Javascript
JQuery中对Select的option项的添加、删除、取值
Aug 25 Javascript
在JavaScript中处理数组之reverse()方法的使用
Jun 09 Javascript
JQuery创建DOM节点的方法
Jun 11 Javascript
Node.js DES加密的简单实现
Jul 07 Javascript
javascript加载xml 并解析各节点的值(实现方法)
Oct 12 Javascript
深入理解JavaScript中的预解析
Jan 04 Javascript
JavaScript无缝滚动效果的实例代码
Mar 27 Javascript
利用jQuery解析获取JSON数据
Apr 08 jQuery
web.js.字符串与正则表达式操作
May 13 Javascript
微信小程序授权获取用户详细信息openid的实例详解
Sep 20 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禁止页面缓存的代码
2011/10/23 PHP
PHP实现获取FLV文件的时间
2015/02/10 PHP
php图片裁剪函数
2018/10/31 PHP
php-fpm中max_children的配置
2019/03/15 PHP
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
JavaScript 读取元素的CSS信息的代码
2010/02/07 Javascript
nodejs实用示例 缩址还原
2010/12/28 NodeJs
分享一个asp.net pager分页控件
2012/01/04 Javascript
jquery fancybox ie6不显示关闭按钮的解决办法
2013/12/25 Javascript
js整数字符串转换为金额类型数据(示例代码)
2013/12/26 Javascript
javascript 使用for循环时该注意的问题-附问题总结
2015/08/19 Javascript
jquery仅用6行代码实现滑动门效果
2015/09/07 Javascript
基于jQuery实现歌词滚动版音乐播放器的代码
2016/09/17 Javascript
关于JavaScript和jQuery的类型判断详解
2016/10/08 Javascript
setTimeout学习小结
2017/02/08 Javascript
VueQuillEditor富文本上传图片(非base64)
2020/06/03 Javascript
微信小程序自定义扫码功能界面的实现代码
2020/07/02 Javascript
element-ui点击查看大图的方法示例
2020/12/14 Javascript
python学习入门细节知识点
2018/03/29 Python
python实现祝福弹窗效果
2019/04/07 Python
python实现抠图给证件照换背景源码
2019/08/20 Python
python之yield和Generator深入解析
2019/09/18 Python
Python 通过监听端口实现唯一脚本运行方式
2020/05/05 Python
在主流系统之上安装Pygame的方法
2020/05/20 Python
为什么是 Python -m
2020/06/19 Python
Kate Spade美国官网:纽约新兴时尚品牌,以包包闻名于世
2017/11/09 全球购物
Europcar美国/加拿大:预订汽车或卡车租赁服务
2018/11/13 全球购物
Dr. Martens马汀博士法国官网:马丁靴鼻祖
2020/01/15 全球购物
Contém1g官网:巴西彩妆品牌
2020/01/17 全球购物
校园十佳歌手策划书
2014/01/22 职场文书
男方父母婚礼答谢词
2014/01/25 职场文书
厨师长岗位职责
2014/03/02 职场文书
体育专业自荐书
2014/05/29 职场文书
党员活动总结
2015/02/04 职场文书
2015年食品安全工作总结
2015/05/15 职场文书
运动员入场前导词
2015/07/20 职场文书