使用OpenSSL進行數據加密有多種方法,以下是一些常用的命令:
AES加密
openssl enc -aes-256-cbc -salt -in plaintext.txt -out ciphertext.bin -pass pass:yourpassword
解密:
openssl enc -d -aes-256-cbc -in ciphertext.bin -out decrypted.txt -pass pass:yourpassword
DES加密
openssl enc -des-cbc -salt -in plaintext.txt -out ciphertext.bin -pass pass:yourpassword
解密:
openssl enc -d -des-cbc -in ciphertext.bin -out decrypted.txt -pass pass:yourpassword
RSA加密
openssl genpkey -algorithm RSA -out rsa_key.pem -aes256
openssl rsautl -encrypt -pubin -inkey rsa_key.pub -in plaintext.txt -out ciphertext.bin
openssl rsautl -decrypt -inkey rsa_key.pem -in ciphertext.bin -out decrypted.txt
ECC加密
openssl ecparam -name secp256k1 -genkey -noout -out ecc_key.pem
openssl pkeyutl -encrypt -pubin -inkey ecc_key.pub -in plaintext.txt -out ciphertext.bin
openssl pkeyutl -decrypt -inkey ecc_key.pem -in ciphertext.bin -out decrypted.txt
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
openssl smime -encrypt -in plaintext.txt -out ciphertext.bin -outform DER -subject "CN=Recipient" -addcert cert.pem -passin pass:yourpassword
openssl smime -decrypt -in ciphertext.bin -out decrypted.txt -inkey key.pem -passin pass:yourpassword
-salt 參數用于增加加密的安全性,每次加密都會生成不同的密鑰。-pass pass:yourpassword 參數用于指定加密和解密的密碼,確保密碼的安全性。通過這些命令,你可以使用OpenSSL進行各種數據加密操作。根據具體需求選擇合適的加密算法和密鑰管理方式。