1. 程式人生 > 實用技巧 >Linux下檔案加密解密簡單版(支援壓縮加密解密)

Linux下檔案加密解密簡單版(支援壓縮加密解密)

首先說下實現方法:使用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

其中file1file2指新增進壓縮包的檔案,可以多個,可以為資料夾;password為密碼,a1為加密後的檔案

原理:使用tar命令打包檔案( - 引數指輸出到管道)將打包後的資料輸出到openssl命令加密完成使用>操作符將加密後的結果輸出到檔案a1

【解密並解壓】

cat a1 | openssl des3 -d -k password | tar zxvf -

其中a1為加密後的檔案,password為密碼

原理:使用 cat命令讀取加密後的檔案內容並且輸出到openss命令,解密完成得到壓縮包資料再通過管道符將資料傳遞到tar命令進行解壓

tar命令的“-”引數指從管道讀取資料進行解壓而非檔案

不得不感慨Linux管道命令之強大,可以將各種命令通過管道組合成複雜的功能,強大而高效