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 相关文章推荐
jquery 双色表格实现代码
Dec 08 Javascript
调用innerHTML之后onclick失效问题的解决方法
Jan 28 Javascript
jQuery 动态云标签插件
Nov 11 Javascript
如何在JS中实现相互转换XML和JSON
Jul 19 Javascript
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
Aug 15 Javascript
JavaScript利用Date实现简单的倒计时实例
Jan 12 Javascript
js中的DOM模拟购物车功能
Mar 22 Javascript
vue-cli的eslint相关用法
Sep 29 Javascript
Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
Jun 10 Javascript
Vue项目查看当前使用的elementUI版本的方法
Sep 27 Javascript
vue实现权限控制路由(vue-router 动态添加路由)
Nov 04 Javascript
vue 数据双向绑定的实现方法
Mar 04 Vue.js
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 类相关函数的使用详解
2013/05/10 PHP
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
2020/01/23 PHP
jquery阻止冒泡事件使用模拟事件
2013/09/06 Javascript
表格奇偶行设置不同颜色的核心JS代码
2013/12/24 Javascript
javascript实现图片上传前台页面
2015/08/18 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
2016/01/22 Javascript
jQuery.form插件的使用及跨域异步上传文件
2016/04/27 Javascript
JS加载器如何动态加载外部js文件
2016/05/26 Javascript
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
webstorm+vue初始化项目的方法
2018/10/18 Javascript
JavaScript 点击触发复制功能实例详解
2018/11/02 Javascript
详解用JS添加和删除class类名
2019/03/25 Javascript
layer ui插件显示tips时,修改字体颜色的实现方法
2019/09/11 Javascript
[47:18]完美世界DOTA2联赛循环赛 IO vs FTD BO2第一场 11.05
2020/11/06 DOTA
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
深入学习Python中的装饰器使用
2016/06/20 Python
python3+PyQt5实现使用剪贴板做复制与粘帖示例
2017/01/24 Python
解决Matplotlib图表不能在Pycharm中显示的问题
2018/05/24 Python
python中scikit-learn机器代码实例
2018/08/05 Python
详解程序意外中断自动重启shell脚本(以Python为例)
2019/07/26 Python
Python环境Pillow( PIL )图像处理工具使用解析
2019/09/12 Python
python二维图制作的实例代码
2020/12/03 Python
HTML5 Canvas绘制文本及图片的基础教程
2016/03/14 HTML / CSS
canvas像素画板的实现代码
2018/11/21 HTML / CSS
详解HTML5 Canvas绘制不规则图形时的非零环绕原则
2016/03/21 HTML / CSS
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
介绍一下Cookie和Session及他们之间的区别
2012/11/20 面试题
英文版餐饮业求职信
2013/10/18 职场文书
自动化专业职业生涯规划书范文
2014/01/16 职场文书
学生鉴定评语大全
2014/05/05 职场文书
运动会广播稿50字-100字
2014/10/11 职场文书
商业用房租赁协议书
2014/10/13 职场文书
求职自我评价范文
2015/03/09 职场文书
初中思品教学反思
2016/02/20 职场文书
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android