Cipher – 用於加密/解密文件和目錄的命令行工具

ss 您採取一些安全措施來保護您的環境並加密您的數據。 Linux 提供了一些加密方法,並且有一些工具可以幫助您加密數據。 當您需要與合作夥伴交流敏感信息時,加密非常重要。

什麼是密碼

密碼 是一個 使對文件和目錄執行 aes-256-cbc 加密變得容易的模塊。 ash-shell/cipher 是根據 MIT 許可證獲得許可的。

要安裝密碼,您必須先安裝 Ash。 安裝後,您可以根據您的 git clone 首選項運行這兩個命令之一:

ash apm:install https://github.com/ash-shell/cipher.git

或者

ash apm:install [email protected]:ash-shell/cipher.git

1) 加密文件和目錄

使用密碼,我們使用命令來加密數據 cipher:e 後跟文件或目錄的名稱/位置。 您將被要求輸入加密密碼

一個。 加密文件

讓我們考慮一下我們有一個包含以下內容的文件:

# cat file 
file encrypting with linux cipher tool

要加密文件,我們使用以下命令

ash cipher:e /root/file
<< cipher >>: Enter encryption password: 
<< cipher >>: Confirm encryption password: 
<< cipher >>: File encrypted at /root/file.enc

就我而言,我注意到當我加密文件時,原始文件不存在,而只有加密文件存在。 您可以驗證如下

# ls -l /root/
total 20
-rw-r--r--. 1 root root 90 Jun 25 19:56 file.enc
drwxr-xr-x. 2 root root 19 Jun 25 18:19 folder

可以看到我們只有加密文件名file.enc。 該操作會自動為加密文件名添加 enc 擴展名。

我們可以用cat命令查看加密文件的內容

# cat /root/file.enc 
U2FsdGVkX19T+dDYuraqLzjsgrazvDTAi0opyeMbfZIuTFRPDsQg/ZXlMHD2Zc+A
6+i3iW3rPgl+NUjpanJkFA==

您可以認為內容是人類無法讀取的。

灣加密文件夾

讓我們考慮下面的文件夾

# ls -ld /root/folder
drwxr-xr-x. 2 root root 19 Jun 25 18:19 /root/folder

要加密文件夾,請使用以下命令

# ash cipher:e folder/
<< cipher >>: Enter encryption password: 
<< cipher >>: Confirm encryption password: 
<< cipher >>: Directory encrypted at folder.tar.gz.enc

可以看到加密的文件夾已經被壓縮了。 現在讓我們檢查原始文件夾

# ls -l /root
total 24
-rw-r--r--. 1 root root 90 Jun 25 19:56 file.enc
-rw-r--r--. 1 root root 285 Jun 25 20:17 folder.tar.gz.enc

我們可以注意到原始文件夾不存在。 加密文件夾具有壓縮文件的擴展名,但要查看其內容,我們使用命令 cat 如下

# cat /root/folder.tar.gz.enc 
U2FsdGVkX18WP0Lci6rkCfCruUA2P4UmzaOVzGdD1rt824CfNB8KthA0zLOZZDUl
xroF8q7tTrxR3RJrJesZcC08fzMZ5JtUnNAM7aIg+bljPFfep2HyP2XK1nRFk5rr
GTjUhd3ue5KCxUUaGAypLZHvA1LixX4FUFRV68u8G5VFPtaHSqc50E/qhUHClAKj
UlVWCvBtHDkD/DDcw1xjqhQKml5wNMK4N7f5dmaSFuXYBmSrQWcgW00i9URxX6jn
7eRawFYP+zbsl30QCWGrxw==

我們可以嘗試用tar命令查看壓縮文件的內容。

# tar -t /root/folder.tar.gz.enc

可以看到是看不到結果的,光標被提示按住了。 我被迫使用 Ctrl-c控制我的外殼。 我們可以嘗試解壓

# tar -zxvf /root/folder.tar.gz.enc

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

您可以看到我們有一條錯誤消息,因此該文件夾已加密,我們無法訪問其內容。

2)解密文件和目錄

要解密數據,我們使用命令 cipher:d 後跟文件名或目錄名。 您將被要求輸入密碼進行解密。 它與加密過程使用的密碼相同。

一個。 解密文件

現在我們將使用以下命令解密我們的文件

# ash cipher:d /root/file.enc 
<< cipher >>: Enter decryption password: 
<< cipher >>: File decrypted at /root/file

您可以操作成功。 現在讓我們檢查文件的內容

# cat /root/file
file encrypting with linux cipher tool

你可以看到我們原始文件的內容

灣解密目錄

解密目錄,和下面的過程完全一樣

# ash cipher:d folder.tar.gz.enc 
<< cipher >>: Enter decryption password: 
<< cipher >>: Directory decrypted at folder/

可以看到我們的文件夾已經被解密了。 現在讓我們檢查一下文件夾的內容

# ls -l folder/
total 4
-rw-r--r--. 1 root root 11 Jun 25 21:08 essai

您可以看到我們現在可以正常訪問我們的原始文件夾。

結論

在我們之前的一篇文章中,我們已經解釋了 gpg 工具,但 cipher 是一種新的基於密碼加密/解密數據的工具,使用起來很簡單。 它有簡單的命令,有兩個用於加密和解密數據的選項。 用於加密的密碼與用於解密的密碼相同。 我建議您不要對所有要保護的文件使用相同的密碼。 因此,這意味著您將向受信任的收件人提供與每個受保護文件對應的加密密碼。