node ~ zip压缩 && 文件加密

本文介绍了如何使用Node.js进行zip压缩和解压,并探讨了文件加密的几种方法,包括使用内置的crypto模块进行加密解密,哈希算法如MD5和SHA1,以及对称加密和非对称加密,如公钥加密私钥解密。
摘要由CSDN通过智能技术生成

我们知道zip压缩,文件加密都是基于http的,下面我用node实现着几个功能

zip压缩/解压
let zlib = require('zlib'); // 核心
let path = require('path');
let fs = require('fs');

// 压缩流 将1.txt压缩成1.txt.gz
function gzip(source){ //source文件目录let gzip = zlib.createGzip(); // 转化流 可读可写fs.createReadStream(source).pipe(gzip).pipe(fs.createWriteStream(source+'.gz')); //读=>压缩=>写新的
}
//gzip(path.join(__dirname, '1.txt'));
//解压
function ungzip(source) {let ungz = zlib.createGunzip();fs.createReadStream(source).pipe(ungz).pipe(fs.createWriteStream(path.join(__dirname,path.basename(source,'.gz'))));
}
ungzip(path.join(__dirname, '1.txt.gz')) 

发送请求的时候会有字段Accept-Encoding: gzip, deflate, br 支持哪种压缩方式, 在写服务器的时候,浏览器会有个字段,响应头有Content-Encoding: gzip,浏览器会自动以这种方式解压,下面我们来实现下压缩功能

let http = require('http');
let url=require('url');
let path = require('path');
let fs = require('fs');
let zlib = require('zlib');
let server = http.createServer(function (req,res) {let {pathname} = url.parse(req.url,true);if(pathname ==
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值