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下数值型比较难点说明
Jun 07 Javascript
6个DIV 135或246间隔一秒轮番显示效果
Jul 24 Javascript
简单实用jquery版三级联动select示例
Jul 04 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
Aug 21 Javascript
只需一行代码,轻松实现一个在线编辑器
Nov 12 Javascript
JavaScript中的操作符==与===介绍
Dec 31 Javascript
JavaScript实现的简单烟花特效代码
Oct 20 Javascript
AngularJs Scope详解及示例代码
Sep 01 Javascript
JQuery ZTree使用方法详解
Jan 07 Javascript
原生JavaScript实现的简单省市县三级联动功能示例
May 27 Javascript
JS调用安卓手机摄像头扫描二维码
Oct 16 Javascript
vue基于viewer实现的图片查看器功能
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
Protoss热键控制
2020/03/14 星际争霸
php header功能的使用
2013/10/28 PHP
php数组中包含中文的排序方法
2014/06/03 PHP
一个很简单的办法实现TD的加亮效果.
2006/06/29 Javascript
java、javascript实现附件下载示例
2014/08/14 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
2016/06/29 Javascript
jQuery实现动态添加tr到table的方法
2016/12/26 Javascript
JavaScript的事件机制详解
2017/01/17 Javascript
详解闭包解决jQuery中AJAX的外部变量问题
2017/02/22 Javascript
canvas绘制环形进度条
2017/02/23 Javascript
nodejs个人博客开发第六步 数据分页
2017/04/12 NodeJs
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
vue axios整合使用全攻略
2018/05/24 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
2019/01/18 jQuery
Vue的H5页面唤起支付宝支付功能
2019/04/18 Javascript
js神秘的电报密码 哈弗曼编码实现
2019/09/10 Javascript
[40:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs TNC
2018/04/01 DOTA
python实现批量下载新浪博客的方法
2015/06/15 Python
python利用标准库如何获取本地IP示例详解
2017/11/01 Python
pygame实现烟雨蒙蒙下彩虹雨
2019/11/11 Python
python开根号实例讲解
2020/08/30 Python
Spy++的使用方法及下载教程
2021/01/29 Python
CSS3的calc()做响应模式布局的实现方法
2017/09/06 HTML / CSS
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
HTML5中图片之间的缝隙完美解决方法
2017/07/07 HTML / CSS
Parfumdreams芬兰:购买香水和化妆品
2021/02/13 全球购物
宝信软件JAVA工程师面试经历
2012/08/19 面试题
测绘工程系学生的自我评价
2013/11/30 职场文书
护理专科自荐书范文
2014/02/18 职场文书
员工保密承诺书
2014/05/28 职场文书
物理学专业自荐信
2014/06/11 职场文书
2014预备党员批评与自我批评思想汇报
2014/09/20 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书
基于nginx实现上游服务器动态自动上下线无需reload的实现方法
2021/03/31 Servers
OpenCV-Python使用cv2实现傅里叶变换
2021/06/09 Python
SQL使用复合索引实现数据库查询的优化
2022/05/25 SQL Server