nodejs压缩解压缩(加密)

1、shell/cmd命令行压缩解压缩

(1)zip压缩解压缩

zip压缩:zip -rP{密码} <目标文件.zip> <源文件> //默认覆盖现有文件

zip解压缩:zip -oP{密码} <源文件.zip> //默认覆盖现有文件

(2)rar压缩解压缩

说明: linux需要下载rarlinux,然后压缩,make编译后,即可使用。

rar压缩:rar a -p{密码} <目标文件.rar> <源文件> -y //默认覆盖现有文件

例如:rar a -p123456 abc.rar abc

rar解压缩:rar x -p{密码 } <源文件.rar> -y //保留源文件路径,默认覆盖现有文件

例如:rar x -p123456 abc.rar -y

2、如何通过nodejs执行shell/cmd命令

说明:通过child_process模块

var exec = require(‘child_process‘).exec;  //引入child_process模块

exports.execCmd = function(cmdStr,next){
    exec(cmdStr,function(err,stdout,stderr){
        next({
            err:err,
            stdout:stdout,
            stderr:stderr
        });
    });
}

3、封装成方法

rar解压缩:

/*
方法名:rar解压缩
参数:
 password
 zipFilePath
 tgtFilePath
例如:
 var password ="20170313",
 zipFilePath ="D:/test/18_20170313.rar",
 srcFilePath = "D:/test/18_20170313";
 cmdStr = "rar x -P20170313 D:\test\18_20170313.rar D:\test\18_20170313 -y"

 * */
var fs = require("fs");
var exec = require(‘child_process‘).exec;

exports.unrar = function(param,next){
    console.log("param:",param);
    var cmdStr = "rar x -P"+param.password+" "+param.zipFilePath+" "+param.tgtFilePath+" -y";
    console.log("cmd:",cmdStr);
    fs.exists(param.tgtFilePath, function(exists) {  //判断路径是否存在
        //console.log(">> exists:",exists);
        if(exists) {
            exec(cmdStr,function(err,stdout,stderr){  //执行命令行
                fs.readdir(param.filesPathInPro,next);
            });
        } else {
            fs.mkdir(param.tgtFilePath,function(){  //创建目录
                exec(cmdStr,function(err,stdout,stderr){  //执行命令行
                    fs.readdir(param.filesPathInPro,next);
                });
            });
        }
    });
}
 

rar压缩:

/*
方法名:rar压缩
参数:
password
zipFilePath
srcFilePath
例如:
var password ="20170313",
zipFilePath ="D:/test/18_20170313.rar",
srcFilePath = "D:/test/18_20170313";
cmdStr ="rar a -ep -P20170313 D:\test\18_20170313.rar D:\test\18_20170313"
 * */

var fs = require("fs");
var exec = require(‘child_process‘).exec;

exports.rar = function(param,next){
    var cmdStr = ‘rar a -ep -P‘+param.password+‘ ‘+param.zipFilePath+‘ ‘+param.srcFilePath+‘ -y‘;
    console.log(">> cmdStr:",cmdStr);
    fs.exists(param.srcFilePath, function(exists) {  //判断路径是否存在
        if(exists) {
            exec(cmdStr,next);
        } else {
            next({
                code:400,
                msg:"源文件找不到"
            })
        }
    });
}
 
时间: 2024-10-27 04:45:11

nodejs压缩解压缩(加密)的相关文章

【13】MD5编码、Zlib压缩解压缩

1.MD5加密 1 /// <summary> 2 /// 使用MD5加密算法 3 /// </summary> 4 /// <param name="md5MessageStr">需要加密的字符串</param> 5 /// <returns>加密后返回字符串</returns> 6 public static string GetMD5String(string md5MessageStr) 7 { 8 usi

谢烟客---------Linux之压缩解压缩及归档工具的使用

压缩工具 compress/uncompress:  .Z结尾 gzip/gunzip: .gz结尾 bzip2/bunzip2: .bz2结尾 xz/unxz: .xz后缀 压缩及归档工具: zip/unzip 归档工具: tar,cpio(特殊场景) gzip/gunzip/zcat命令 1.LZ77压缩算法 2.压缩比不高:快速.高效 3.压缩/解压缩后删除原文件,为了节约空间 4.纯文本压缩,二进制压缩意义不大 5.压缩目录,-r gzip [OPTIONS...] FILE     -

Linux压缩解压缩(unzip,tar)

unzip tar 常用解压缩命令: tar -zxvpf:解压缩 tar -zcvpf: 压缩 # tar [-j|-z] [cv] [-f 建立的檔名] filename... <==打包与压缩 # tar [-j|-z] [tv] [-f 建立的檔名]             <==察看檔名 # tar [-j|-z] [xv] [-f 建立的檔名] [-C 目录]   <==解压缩 参数: -z:透过gzip的支持进行压缩/解压缩,此时档名最好为*.tar.gz. -j:透过bz

nodejs中aes-128-cbc加密和解密

和java程序进行交互的时候,java那边使用AES 128位填充模式:AES/CBC/PKCS5Padding加密方法,在nodejs中采用对应的aes-128-cbc加密方法就能对应上,因为有使用向量(iv),所以nodejs中要用createCipheriv方法,而不是createCipher. 在这类加密和解密的计算中,最最要注意的就是中文编码问题,不然铁定采坑.我踩完坑了,把能跑的代码发上来下,运行环境nodejs 4.4.6. var crypto = require('crypto

2016-8-28 压缩解压缩及归档 while脚本

文件管理命令――压缩解压缩及归档基本工具 压缩.解压缩命令 压缩格式:gz, bz2, xz, zip, Z 压缩算法:算法不同,压缩比也会不同: 早期    压缩:        compress(压缩比很小): FILENAME.Z ―― 压缩后的文件名    解压:        uncompress gzip.bzip2.xz只能压缩文件,并且默认压缩完成后删除源文件,zip可以压缩目录 gzip: .gz    gzip /PATH/TO/SOMEFILE:压缩完成后会删除原文件   

【linux_笔记】Linux_文件管理命令—压缩解压缩及归档基本工具

学习资源来自:www.magedu.com 学习记录过程中难免出现错误,如有发现,还望大神们指出. 示例操作部分有的与历史操作有关,如果先前的示例操作没有执行过的话,可能会有部分示例的操作无法执行.示例仅供参考.(示例见附件) 文件管理命令--压缩解压缩及归档基本工具 压缩.解压缩命令 压缩格式:gz, bz2, xz, zip, Z 压缩算法:算法不同,压缩比也会不同: 早期    压缩:        compress(压缩比很小): FILENAME.Z -- 压缩后的文件名    解压:

基于ICSharpCode.SharpZipLib.Zip的压缩解压缩

今天记压缩解压缩的使用,是基于开源项目ICSharpCode.SharpZipLib.Zip的使用. 一.压缩: /// <summary> /// 压缩 /// </summary> /// <param name="sourceDirectory"></param> /// <param name="targetZipName"></param> /// <param name=&qu

nodejs学习之加密

Nodejs中的加密是Crypto模块, 1.md5的使用 var crypto = require("crypto"); //创建 var md5 = crypto.createHash("md5"); md5.update("123456");//update()方法有记忆功能,md5.update('123456')和md5.update('123');md5.update('456');效果一样 console.log(md5.diges

Linux常用命令(第二版) --压缩解压缩命令

压缩解压缩命令: ----------.gz---------- 1.压缩 gzip[GNU zip]: /bin/gzip 格式: gzip 选项 [文件] #压缩文件,压缩后扩展名为.gz,Linux下最常用 #比较常见的软件源代码包的格式 特点: 1)只能压缩文件,不能压缩目录 2)不保留原文件 e.g. gzip newfile #原newfile删除 2.解压 1)gunzip[GNU zip]: /bin/gunzip 2)gzip -d #解压.gz E.g. gzip -d ne