Contents

Linux 下使用 tar 加密解密压缩文件

Contents

最近工作上需要用到加密,经常使用的是 7z 来加密解密压缩,但是今天突然想到 自带的 tar 工具能不能完成我的要求呢?突发奇想找了下资料,果然~
但是会有个问题,使用此方法压缩打包的文件,不能在 win 下使用 7z 顺利的解压了,dd 你懂的。


1、使用tar对文件压缩加密:

1
2
# tar -zcvf - pma|openssl des3 -salt -k password | dd of=pma.des3
```完成将得到一个pma.des3的打包文件,用你设置的密码替换password。 2、使用tar对加密文件解压:  

dd if=pma.des3 |openssl des3 -d -k password|tar zxf -

-aes-128-cbc -aes-128-cfb -aes-128-cfb1
-aes-128-cfb8 -aes-128-ecb -aes-128-ofb
-aes-192-cbc -aes-192-cfb -aes-192-cfb1
-aes-192-cfb8 -aes-192-ecb -aes-192-ofb
-aes-256-cbc -aes-256-cfb -aes-256-cfb1
-aes-256-cfb8 -aes-256-ecb -aes-256-ofb
-aes128 -aes192 -aes256
-bf -bf-cbc -bf-cfb
-bf-ecb -bf-ofb -blowfish
-cast -cast-cbc -cast5-cbc
-cast5-cfb -cast5-ecb -cast5-ofb
-des -des-cbc -des-cfb
-des-cfb1 -des-cfb8 -des-ecb
-des-ede -des-ede-cbc -des-ede-cfb
-des-ede-ofb -des-ede3 -des-ede3-cbc
-des-ede3-cfb -des-ede3-ofb -des-ofb
-des3 -desx -desx-cbc
-rc2 -rc2-40-cbc -rc2-64-cbc
-rc2-cbc -rc2-cfb -rc2-ecb
-rc2-ofb -rc4 -rc4-40

SYNOPSIS
openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e]
[-d] [-a] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-p]
[-P] [-bufsize number] [-nopad] [-debug]

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14

*   -chipername选项:加密算法,Openssl支持的算法在上面已经列出了,你只需选择其中一种算法即可实现文件加密功能。
*   -in选项:输入文件,对于加密来说,输入的应该是明文文件;对于解密来说,输入的应该是加密的文件。该选项后面直接跟文件名。
*   -out选项:输出文件,对于加密来说,输出的应该是加密后的文件名;对于解密来说,输出的应该是明文文件名。
*   -pass选项:选择输入口令的方式,输入源可以是标准输入设备,命令行输入,文件、变量等。
*   -e选项:实现加密功能(不使用-d选项的话默认是加密选项)。
*   -d选项:实现解密功能。
*   -a和-A选项:对文件进行BASE64编解码操作。
*   -K选项:手动输入加密密钥(不使用该选项,Openssl会使用口令自动提取加密密钥)。
*   -IV选项:输入初始变量(不使用该选项,Openssl会使用口令自动提取初始变量)。
*   -salt选项:是否使用盐值,默认是使用的。
*   -p选项:打印出加密算法使用的加密密钥。

三、用法举例: 1、使用aes-128-cbc算法加密文件:  

openssl enc -aes-128-cbc -in install.log -out enc.log

openssl enc -d -aes-128-cbc -in enc.log -out install.log

openssl enc -aes-128-cbc -in install.log -out enc.log -a

openssl enc -des-ede3-cbc -in install.log -out enc.log -pass pass:111111

Via:http://www.ha97.com/5114.html