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 混合的构造函数和原型方式,动态原型方式
Dec 07 Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
May 20 Javascript
跨浏览器的事件对象介绍
Jun 27 Javascript
JS中获取数据库中的值的方法
Jul 14 Javascript
利用jquery包将字符串生成二维码图片
Sep 12 Javascript
JavaScript两种跨域技术全面介绍
Apr 16 Javascript
推荐6款基于jQuery实现图片效果插件
Dec 07 Javascript
JavaScript判断数组重复内容的两种方法(推荐)
Jun 06 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
Jul 27 Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
Feb 05 Javascript
详解Weex基于Vue2.0开发模板搭建
Mar 20 Javascript
js form表单input框限制20个字符,10个汉字代码实例
Apr 12 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
一个简单的自动发送邮件系统(一)
2006/10/09 PHP
thinkphp 多表 事务详解
2013/06/17 PHP
PHP制作登录异常ip检测功能的实例代码
2016/11/16 PHP
YII框架批量插入数据的方法
2017/03/18 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
JavaScript 异步调用框架 (Part 2 - 用例设计)
2009/08/03 Javascript
Javascript开发之三数组对象实例介绍
2012/11/12 Javascript
Dojo Javascript 编程规范 规范自己的JavaScript书写
2014/10/26 Javascript
jQuery+canvas实现的球体平抛及颜色动态变换效果
2016/01/28 Javascript
JS自定义函数实现时间戳转换成date的方法示例
2017/08/27 Javascript
浅谈Vuex注入Vue生命周期的过程
2019/05/20 Javascript
Python 序列化 pickle/cPickle模块使用介绍
2014/11/30 Python
Python中实现结构相似的函数调用方法
2015/03/10 Python
详解Python中for循环的使用
2015/04/14 Python
对Python进行数据分析_关于Package的安装问题
2017/05/22 Python
Python实现的基于优先等级分配糖果问题算法示例
2018/04/25 Python
Python如何获得百度统计API的数据并发送邮件示例代码
2019/01/27 Python
Python常用特殊方法实例总结
2019/03/22 Python
python DataFrame转dict字典过程详解
2019/12/26 Python
python opencv根据颜色进行目标检测的方法示例
2020/01/15 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
2020/04/22 Python
组织关系转移介绍信
2014/01/16 职场文书
工作表现评语
2014/01/19 职场文书
学徒工职责
2014/03/06 职场文书
给校长的建议书
2014/03/12 职场文书
美术指导求职信
2014/03/17 职场文书
个人自我鉴定总结
2014/03/25 职场文书
合同和协议有什么区别?
2014/10/08 职场文书
2014年班组建设工作总结
2014/12/01 职场文书
趣味运动会广播稿
2015/08/19 职场文书
2016年习总书记讲话学习心得体会
2016/01/20 职场文书
Python绘制分类图的方法
2021/04/20 Python
Golang 编译成DLL文件的操作
2021/05/06 Golang
html5表单的required属性使用
2021/07/07 HTML / CSS
MySQL如何使备份得数据保持一致
2022/05/02 MySQL
box-shadow单边阴影的实现
2023/05/21 HTML / CSS