(總結)使用tar與OpenSSL加密解密打包文件

在當前目錄下有一個pma目錄的文件夾:

1、使用tar對文件壓縮加密:
# 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 -
注意:命令最後有”-“,它將釋放所有的文件。其中-k password可以不使用,這樣執行完命令後會提示你輸入密碼,加上-k參數表示在程序中自動驗證密碼。


附:OpenSSL加密算法詳解:

OpenSSL是一個開源的用以實現SSL協議的產品,它主要包括了三個部分:密碼算法庫、應用程序、SSL協議庫。Openssl實現了SSL協議所需要的大多數算法。
下面介紹使用Openssl進行文件的對稱加密操作。

一、Openssl支持的加密算法有:

-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

二、OpenSSL加密指令語法:

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]
說明:
-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
(注:這裏install.log是你想要加密的文件,enc.log是加密後的文件,回車後系統會提示你輸入密碼。)
2、解密剛纔加密的文件:
openssl enc -d -aes-128-cbc -in enc.log -out install.log
(注:enc.log是剛纔加密的文件,install.log是解密後的文件,-d選項實現解密功能。)
3、加密文件後使用BASE64格式進行編碼:
openssl enc -aes-128-cbc -in install.log -out enc.log -a
4、使用多種口令輸入方式加密:
openssl enc -des-ede3-cbc -in install.log -out enc.log -pass pass:111111
(這種方法的好處是你可以把它寫入到腳本中,自動完成加密功能,不使用pass選項默認系統會提示輸入密碼並且確認,是需要人工操作的。)


轉載自:http://www.ha97.com/5114.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章