Linux下檔案加密解密簡單版(支援壓縮加密解密)
阿新 • • 發佈:2020-06-30
首先說下實現方法:使用Linux的openssl命令進行二進位制檔案的加密解密,使用管道命令進行檔案的加密解密操作
一、普通檔案加密/解密
【加密】
cat a.txt | openssl des3 -e -k password > a1
其中a.txt可以為任何二進位制檔案、password為密碼、a1為加密後的檔案
原理:使用cat命令讀取檔案內容使用管道命令將檔案內容輸出到openssl命令,加密完成使用>操作符將加密後的結果輸出到檔案a1
【解密】
cat a1 | openssl -des3 -d -k password > a2
其中a1為加密後的檔案、password 為密碼、a2為解密後的檔案
原理與加密相同
openssl引數:
des3 加密方式(可根據需要更換)
-e 表示需要加密
-d 表示需要解密
-k 表示金鑰(即密碼)
二、壓縮檔案加密/解密
亮點:使用管道符實現資料記憶體互動,無需打包後再將打包後的檔案加密
【壓縮並加密】
tar zcvf - file1 file2 | openssl des3 -e -k password > a1
其中file1、file2指新增進壓縮包的檔案,可以多個,可以為資料夾;password為密碼,a1為加密後的檔案
原理:使用tar命令打包檔案( - 引數指輸出到管道)將打包後的資料輸出到openssl命令加密完成使用>操作符將加密後的結果輸出到檔案a1
【解密並解壓】
cat a1 | openssl des3 -d -k password | tar zxvf -
其中a1為加密後的檔案,password為密碼
原理:使用 cat命令讀取加密後的檔案內容並且輸出到openss命令,解密完成得到壓縮包資料再通過管道符將資料傳遞到tar命令進行解壓
tar命令的“-”引數指從管道讀取資料進行解壓而非檔案
不得不感慨Linux管道命令之強大,可以將各種命令通過管道組合成複雜的功能,強大而高效