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 相关文章推荐
JS 常用校验函数
Mar 26 Javascript
父页面显示遮罩层弹出半透明状态的dialog
Mar 04 Javascript
邮箱下拉自动填充选择示例代码附图
Apr 03 Javascript
JavaScript获取table中某一列的值的方法
May 06 Javascript
Android中的jQuery:AQuery简介
May 06 Javascript
JavaScript实现网页对象拖放功能的方法
Apr 15 Javascript
javascript先序遍历DOM树的方法
Feb 27 Javascript
浅谈jquery选择器 :first与:first-child的区别
Nov 20 Javascript
关于不同页面之间实现参数传递的几种方式讨论
Feb 13 Javascript
ajax实现加载页面、删除、查看详细信息 bootstrap美化页面!
Mar 14 Javascript
Angularjs实现多图片上传预览功能
Jul 18 Javascript
vue使用nprogress实现进度条
Dec 09 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生成html分页列表的代码
2007/03/18 PHP
php mysql Errcode: 28 终极解决方法
2009/07/01 PHP
浅谈php函数serialize()与unserialize()的使用方法
2014/08/19 PHP
PHP数组操作――获取数组最后一个值的方法
2015/04/14 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
2016/05/23 PHP
PHP二维数组去重实例分析
2016/11/18 PHP
Mootools 1.2教程(3) 数组使用简介
2009/09/14 Javascript
将nodejs打包工具整合到鼠标右键的方法
2013/05/11 NodeJs
JavaScript对表格或元素按文本,数字或日期排序的方法
2015/05/26 Javascript
EasyUI创建对话框的两种方式
2016/08/23 Javascript
connection reset by peer问题总结及解决方案
2016/10/21 Javascript
解析ajaxFileUpload 异步上传文件简单使用
2016/12/30 Javascript
Vue脚手架的简单使用实例
2018/07/10 Javascript
Vue-router 切换组件页面时进入进出动画方法
2018/09/01 Javascript
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
2018/11/02 Javascript
vue中根据时间戳判断对应的时间(今天 昨天 前天)
2019/12/20 Javascript
[35:39]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第二场 11.22
2020/11/24 DOTA
Python中的闭包实例详解
2014/08/29 Python
Python自动登录126邮箱的方法
2015/07/10 Python
浅谈python中的变量默认是什么类型
2016/09/11 Python
python画出三角形外接圆和内切圆的方法
2018/01/25 Python
Python实现的HMacMD5加密算法示例
2018/04/03 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
python列表推导式入门学习解析
2019/12/02 Python
如何在Windows中安装多个python解释器
2020/06/16 Python
Python 带星号(* 或 **)的函数参数详解
2021/02/23 Python
css3的transform中scale缩放详解
2014/12/08 HTML / CSS
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
澳大利亚最受欢迎的美发用品目的地:AMR
2019/08/28 全球购物
报社实习生自荐信
2014/01/24 职场文书
共产党员公开承诺践诺书
2014/05/28 职场文书
化工工艺设计求职信
2014/06/25 职场文书
社区综治工作汇报
2014/10/27 职场文书
2015年世界环境日演讲稿
2015/03/18 职场文书
2015年办公室工作总结范文
2015/03/31 职场文书
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL