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 的特定类转载
Feb 01 Javascript
setinterval()与clearInterval()JS函数的调用方法
Jan 21 Javascript
jQuery实现新消息闪烁标题提示的方法
Mar 11 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
Jan 28 Javascript
JS动态加载脚本并执行回调操作
Aug 24 Javascript
基于jQuery实现的幻灯图片切换
Dec 02 Javascript
如何提高数据访问速度
Dec 26 Javascript
详解Angular的8个主要构造块
Jun 20 Javascript
Node.js创建Web、TCP服务器
Dec 05 Javascript
nginx+vue.js实现前后端分离的示例代码
Feb 12 Javascript
详解从0开始搭建微信小程序(前后端)的全过程
Apr 15 Javascript
vue绑定class的三种方法
Dec 24 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
超级简单的发送邮件程序
2006/10/09 PHP
oracle资料库函式库
2006/10/09 PHP
PHP+MySQL 手工注入语句大全 推荐
2009/10/30 PHP
Laravel的throttle中间件失效问题解决方法
2016/10/09 PHP
给Function做的OOP扩展
2009/05/07 Javascript
基于JQuery的多标签实现代码
2012/09/19 Javascript
js读取注册表的键值示例
2013/09/25 Javascript
javascript框架设计读书笔记之数组的扩展与修复
2014/12/02 Javascript
JavaScript函数使用的基本教程
2015/06/04 Javascript
详解AngularJS中自定义指令的使用
2015/06/17 Javascript
基于jQuery的checkbox全选问题分析
2016/11/18 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
2016/12/08 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
微信小程序如何使用云开发
2019/05/17 Javascript
在layui中select更改后生效的方法
2019/09/05 Javascript
修改layui的后台模板的左侧导航栏可以伸缩的方法
2019/09/10 Javascript
vue-router结合vuex实现用户权限控制功能
2019/11/14 Javascript
用python实现的可以拷贝或剪切一个文件列表中的所有文件
2009/04/30 Python
详解Python中的__new__、__init__、__call__三个特殊方法
2016/06/02 Python
深入理解Python中装饰器的用法
2016/06/28 Python
python实现图书管理系统
2018/03/12 Python
运行django项目指定IP和端口的方法
2018/05/14 Python
Python的条件表达式和lambda表达式实例
2019/01/31 Python
python 遍历pd.Series的index和value
2019/11/26 Python
keras模型可视化,层可视化及kernel可视化实例
2020/01/24 Python
Python使用Matlab命令过程解析
2020/06/04 Python
基于logstash实现日志文件同步elasticsearch
2020/08/06 Python
canvas绘制圆角头像的实现方法
2019/01/17 HTML / CSS
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
欧姆龙医疗欧洲有限公司:Omron Healthcare Europe B.V
2020/06/13 全球购物
思想品德自我鉴定
2013/10/12 职场文书
中学教师管理制度
2014/01/14 职场文书
关于雷锋的演讲稿
2014/05/10 职场文书
副乡长群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
民用住房租房协议书
2014/10/29 职场文书