加密是將文件編碼的過程,只有經授權的人才能訪問它們。即使在電腦還不存在的時代,人類已經開始使用加密技術。在戰爭期間,他們會傳遞一些只有他們的部落或相關人士能夠理解的訊息。
Linux發行版提供了一些標準的加密/解密工具,有時候可以派上用場。在本文中,我們涵蓋了7個這樣的工具,並附有適當的標準示例,這將幫助您加密、解密和設置文件密碼保護。
如果您有興趣了解如何從Linux命令行生成隨機密碼,請閱讀以下文章:
[ 您可能還喜歡:如何在Linux中生成/加密/解密隨機密碼 ]
1. GnuPG
GnuPG代表GNU隱私衛士,通常稱為GPG,這是一個加密軟件集合。由GNU計劃用C編程語言編寫。最新的穩定版本是2.0.27。
在今天的大多數Linux發行版中,gnupg套件默認安裝,如果沒有安裝,您可以從存儲庫中使用apt或yum安裝它。
$ sudo apt-get install gnupg # yum install gnupg
我們有一個位於~/Desktop/Tecmint/的文本文件(tecmint.txt),將在本文後面的示例中使用。
在繼續之前,檢查一下文本文件的內容。
$ cat ~/Desktop/Tecmint/tecmint.txt
現在使用gpg加密tecmint.txt文件。只要運行帶有-c選項的gpg命令(僅使用對稱加密),它將創建一個名為tecmint.txt.gpg的文件。您可以列出目錄的內容以進行驗證。
$ gpg -c ~/Desktop/Tecmint/tecmint.txt $ ls -l ~/Desktop/Tecmint
注意:輸入兩次Paraphrase以加密給定文件。上述加密是使用CAST5加密算法自動完成的。您也可以選擇指定不同的算法。
要查看所有可用的加密算法,您可以執行以下操作。
$ gpg --version
現在,如果您想解密上面加密的文件,可以使用以下命令,但在我們開始解密之前,我們將首先刪除原始文件,即tecmint.txt,並保留加密文件tecmint.txt.gpg不變。
$ rm ~/Desktop/Tecmint/tecmint.txt $ gpg ~/Desktop/Tecmint/tecmint.txt.gpg
注意:當提示時,您需要提供加密時給出的相同密碼來解密。
2. bcrypt
bcrypt是一個基於Blowfish密碼的密鑰派生函數。由於發現可以對Blowfish密碼進行攻擊,因此不建議使用Blowfish密碼。
如果您尚未安裝bcrypt,可以使用apt或yum安裝所需的套件。
$ sudo apt-get install bcrypt # yum install bcrypt
使用bcrypt加密文件。
$ bcrypt ~/Desktop/Tecmint/tecmint.txt
一旦您執行上述命令,就會創建一個新的文件名texmint.txt.bfe,而原始文件tecmint.txt將被替換。
使用bcrypt解密文件。
$ bcrypt tecmint.txt.bfe
注意:bcrypt沒有安全的加密形式,因此至少在Debian Jessie上已禁用其支持。
3. ccrypt
ccrypt是設計用來替代UNIX crypt的文件和流加密解密實用程序。它使用Rijndael密碼。
如果您尚未安裝ccrypt,可以使用apt或yum進行安裝。
$ sudo apt-get install ccrypt # yum install ccrypt
使用ccrypt加密文件。它使用ccencrypt進行加密,使用ccdecrypt進行解密。值得注意的是,在加密時,原始文件(tecmint.txt)被替換為(tecmint.txt.cpt),而在解密時,加密文件(tecmint.txt.cpt)被替換為原始文件(tecmint.txt)。您可能想要使用ls命令來檢查這一點。
加密文件。
$ ccencrypt ~/Desktop/Tecmint/tecmint.txt
解密文件。
$ ccdecrypt ~/Desktop/Tecmint/tecmint.txt.cpt
提供與加密時相同的密碼以進行解密。
4. Zip
這是最著名的歸檔格式之一,它如此著名以至於我們通常將歸檔文件稱為zip文件。它使用pkzip流密碼算法。
如果您尚未安裝zip,可能想要使用apt或yum進行安裝。
$ sudo apt-get install zip # yum install zip
使用 zip 創建加密的 zip 文件(多個文件組合在一起)。
$ zip --password mypassword tecmint.zip tecmint.txt tecmint1.1txt tecmint2.txt
這裡 mypassword 是用來加密的密碼。創建了一個名為 tecmint.zip 的壓縮包,其中包含 tecmint.txt、tecmint1.txt 和 tecmint2.txt 文件。
使用 unzip 解密受密碼保護的壓縮文件。
$ unzip tecmint.zip
你需要提供與加密時相同的密碼。
5. Openssl
Openssl 是一個命令行加密工具包,可以用來加密消息和文件。
如果尚未安裝 openssl,你可以安裝它。
$ sudo apt-get install openssl # yum install openssl
使用 openssl 加密文件。
$ openssl enc -aes-256-cbc -in ~/Desktop/Tecmint/tecmint.txt -out ~/Desktop/Tecmint/tecmint.dat
上面命令中每個選項的解釋。
- enc :加密
- -aes-256-cbc :使用的算法。
- -in :要加密文件的完整路徑。
- -out :解密後保存的完整路徑。
使用 openssl 解密文件。
$ openssl enc -aes-256-cbc -d -in ~/Desktop/Tecmint/tecmint.dat > ~/Desktop/Tecmint/tecmint1.txt
6. 7-zip
非常有名的開源 7-zip 壓縮工具是用 C++ 編寫的,能夠壓縮和解壓大多數已知的壓縮文件格式。
如果你還沒有安裝 7-zip,你可以使用 apt 或 yum 安裝它。
$ sudo apt-get install p7zip-full # yum install p7zip-full
使用 7-zip 壓縮文件並加密它。
$ 7za a -tzip -p -mem=AES256 tecmint.zip tecmint.txt tecmint1.txt
使用 7-zip 解壓加密的 zip 文件。
$ 7za e tecmint.zip
注意:在提示時在加密和解密過程中使用相同的密碼。
到目前為止我們使用的所有工具都是基於命令行的。Nautilus 提供了一個基於 GUI 的加密工具,它將幫助您使用圖形界面加密/解密文件。
7. Nautilus 加密工具
使用 Nautilus 加密工具在 GUI 中加密文件的步驟。
在 GUI 中加密文件
1. 右擊要加密的文件。
2. 選擇 zip 格式並提供保存位置。同時提供要加密的密碼。

3. 注意消息 – 成功創建加密的 zip 檔案。

在 GUI 中解密文件
1. 嘗試在 GUI 中打開 zip 檔案。注意文件旁邊的鎖定圖標。它將提示輸入密碼,請輸入。

2. 當成功時,它將為您打開文件。

目前就這些。我將再次帶來另一個有趣的主題。在那之前,請繼續關注並保持與 Tecmint 的聯繫。別忘了在下面的評論中提供您寶貴的反饋。請點贊並分享我們,幫助我們擴散。
Source:
https://www.tecmint.com/linux-password-protect-files-with-encryption/