在 Ubuntu 上使用 OpenSSL 加密文件有多種方法,以下介紹兩種常用的方式:對稱加密(使用 AES-256-CBC)和非對稱加密(使用 RSA)。根據你的需求選擇合適的方法。
對稱加密使用相同的密鑰進行加密和解密,適合需要保密且雙方共享密鑰的場景。
打開終端
打開你的終端應用程序。
加密文件
使用以下命令對文件進行加密:
openssl enc -aes-256-cbc -salt -in input_file -out encrypted_file.enc
-aes-256-cbc
:指定使用 AES-256 加密算法和 CBC 模式。-salt
:添加鹽值以增強加密強度。-in input_file
:指定要加密的原始文件(將 input_file
替換為你的文件名)。-out encrypted_file.enc
:指定加密后的輸出文件名(將 encrypted_file.enc
替換為你希望的文件名)。示例:
openssl enc -aes-256-cbc -salt -in secret.txt -out secret.enc
輸入密碼
執行命令后,系統會提示你輸入用于加密的密碼。請記住這個密碼,因為解密時需要使用相同的密碼。
要解密文件,使用以下命令:
openssl enc -d -aes-256-cbc -in encrypted_file.enc -out decrypted_file
-d
:表示解密操作。示例:
openssl enc -d -aes-256-cbc -in secret.enc -out secret_decrypted.txt
輸入之前設置的密碼后,原始文件將被恢復。
非對稱加密使用一對密鑰:公鑰和私鑰。公鑰用于加密,私鑰用于解密,適合需要安全分發密鑰的場景。
生成 RSA 密鑰對
使用以下命令生成一個新的 RSA 私鑰:
openssl genrsa -out private_key.pem 2048
-out private_key.pem
:指定私鑰文件名。2048
:密鑰長度,建議至少 2048 位。接下來,從私鑰生成公鑰:
openssl rsa -pubout -in private_key.pem -out public_key.pem
-pubout
:輸出公鑰。-in private_key.pem
:輸入私鑰文件。-out public_key.pem
:指定公鑰文件名。加密文件
使用公鑰加密文件:
openssl rsautl -encrypt -pubin -inkey public_key.pem -in input_file -out encrypted_file.enc
-encrypt
:執行加密操作。-pubin
:指定使用公鑰進行加密。-inkey public_key.pem
:指定公鑰文件。-in input_file
:要加密的原始文件。-out encrypted_file.enc
:加密后的輸出文件。示例:
openssl rsautl -encrypt -pubin -inkey public_key.pem -in secret.txt -out secret.enc
解密文件
使用私鑰解密文件:
openssl rsautl -decrypt -inkey private_key.pem -in encrypted_file.enc -out decrypted_file
-decrypt
:執行解密操作。-inkey private_key.pem
:指定私鑰文件。-in encrypted_file.enc
:加密文件。-out decrypted_file
:解密后的輸出文件。示例:
openssl rsautl -decrypt -inkey private_key.pem -in secret.enc -out secret_decrypted.txt
輸入私鑰的密碼(如果在生成私鑰時設置了密碼)后,原始文件將被恢復。
密鑰管理:
文件完整性:
openssl pkeyutl
。性能:
查看幫助文檔:
如果不確定某個命令的用法,可以使用 man
命令查看詳細文檔。例如:
man openssl
使用 OpenSSL 版本:
確保你的系統上安裝了最新版本的 OpenSSL,以獲得最佳的安全性和功能支持??梢允褂靡韵旅罡拢?/p>
sudo apt update
sudo apt install openssl
通過以上方法,你可以在 Ubuntu 系統上靈活地使用 OpenSSL 進行文件加密,保護你的數據安全。