#1. 使用 openssl 加密一個文件 (data.zip 為原始文件,back.zip 為加密之後的文件)
# openssl enc -e -aes256 -in data.zip -out back.zip
解釋: enc 表示對文件進行對稱加密或解密, -e 表示對一個文件進行加密操作,-aes256 表示使用aes256 演算法進行加密,-in 表示需要被加密的文件,-out 表示加密之後產生的新文件。加密過程中會要求輸入加密密碼,重複輸入兩次即可完成檔案的加密
2. 使用 openssl 解密一個文件 (back.zip 為加密的文件,data.zip 為解密之後的文件)
# openssl enc -d -aes256 -in back.zip -out data.zip
解釋: enc 表示對文件進行對稱加密或解密, -d 表示對文件進行解密操作,-aes256 表示使用aes256 演算法進行解密,-in 表示需要被解密的文件,-out 表示解密之後產生的新文件,解密一個文件的時候會要求輸入加密檔案時所設定的密碼才能進行解密。
1. 首先需要使用 openssl 產生一個 2048 位元的金鑰 rsa.key 檔案 (rsa.key 金鑰檔案中包含了私鑰和公鑰)
# openssl genrsa -out rsa.key 2048
2. 然後從 rsa.key 金鑰檔案中提取出公鑰 pub.key
# openssl rsa -in rsa.key -pubout -out pub.key
3. 使用 pub.key 公鑰加密一個文件 (data.zip 為原始文件,back.zip 為加密之後的文件)
# openssl rsautl -encrypt -inkey pub.key -pubin -in data.zip -out back.zip
4. 使用 rsa.key 私鑰解密一個文件 (back.zip 為加密的文件,data.zip 為解密之後的文件)
# openssl rsautl -decrypt -inkey rsa.key -in back.zip -out data.zip
最後我們使用 OpenSSL 工具,對所有備份的資料檔案進行加密存儲,就能保證業務系統資料進行保護,防止洩漏。我們也可以使用其他的加密工具例如 GPG,VeraCrypt,trueCrypt 這些工具來對資料進行加密,但相比而言,使用 OpenSSL 更加方便,因為幾乎每種 Linux 發行版都預先安裝了 OpenSSL 軟體包。
以上是如何運用OpenSSL 對檔案進行加密和解密的詳細內容。更多資訊請關注PHP中文網其他相關文章!