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中prevAll()方法用法实例
Jan 08 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
Sep 24 Javascript
JavaScript面向对象之私有静态变量实例分析
Jan 14 Javascript
jQuery图片切换动画特效
Nov 02 Javascript
jQuery多选框选择数量限制方法
Feb 08 Javascript
Bootstrap缩略图与警告框学习使用
Feb 08 Javascript
JS给按钮添加跳转功能类似a标签
May 30 Javascript
vue-content-loader内容加载器的使用方法
Aug 05 Javascript
Vue组件教程之Toast(Vue.extend 方式)详解
Jan 27 Javascript
详解在网页上通过JS实现文本的语音朗读
Mar 28 Javascript
jquery简单实现纵向的无缝滚动代码实例
Apr 01 jQuery
mock.js模拟数据实现前后端分离
Jul 24 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抽象类使用要点与注意事项分析
2015/02/09 PHP
laravel5.4生成验证码的实例讲解
2017/08/05 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
父窗口获取弹出子窗口文本框的值
2006/06/27 Javascript
JavaScript网页制作特殊效果用随机数
2007/05/22 Javascript
Javascript的构造函数和constructor属性
2010/01/09 Javascript
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
Extjs中通过Tree加载右侧TabPanel具体实现
2013/05/05 Javascript
JavaScript事件 "事件对象"的注意要点
2016/01/14 Javascript
详谈JS中实现种子随机数及作用
2016/07/19 Javascript
Webpack如何引入bootstrap的方法
2017/06/17 Javascript
Node.js五大应用性能技巧小结(必须收藏)
2017/08/09 Javascript
基于zTree树形菜单的使用实例
2017/12/25 Javascript
javascript实现文本框标签验证的实例代码
2018/10/14 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
2019/07/05 Javascript
layer弹出层倒计时关闭的实现方法
2019/09/27 Javascript
Python守护进程(daemon)代码实例
2015/03/06 Python
Python合并字符串的3种方法
2015/05/21 Python
Python 搭建Web站点之Web服务器与Web框架
2016/11/06 Python
解决python测试opencv时imread导致的错误问题
2019/01/26 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
如何基于pandas读取csv后合并两个股票
2020/09/25 Python
如何快速一次性卸载所有python包(第三方库)呢
2020/10/20 Python
10分钟理解CSS3 FlexBox弹性布局
2018/12/20 HTML / CSS
世界上获奖最多的手机镜头:Olloclip
2018/03/03 全球购物
奥地利体育网上商店:Gigasport
2019/10/09 全球购物
2014年庆元旦活动方案
2014/02/15 职场文书
《飞向蓝天的恐龙》教学反思
2014/04/09 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
2014年党支部书记工作总结
2014/12/04 职场文书
2015会计试用期工作总结
2014/12/12 职场文书
微信搭讪开场白
2015/05/28 职场文书
中国汉字听写大会观后感
2015/06/02 职场文书
自考生自我评价
2019/06/21 职场文书
Apache压力测试工具的安装使用
2021/03/31 Servers
Python实现位图分割的效果
2021/11/20 Python