大多数Linux发行版默认安装OpenSSL,若未安装,可通过包管理器安装:
sudo apt update && sudo apt install opensslsudo yum update && sudo yum install opensslsudo dnf update && sudo dnf install openssl对称加密使用同一密码加密/解密,操作简单,适合常规文件保护。
使用openssl enc命令,指定AES-256-CBC算法(-aes-256-cbc)、添加盐值(-salt,增强安全性)、输入文件(-in)和输出文件(-out):
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted_file.enc
执行后,系统会提示输入密码(用于加密,需牢记)。
使用-d参数指定解密操作,其他参数与加密一致:
openssl enc -d -aes-256-cbc -in encrypted_file.enc -out decrypted_file.txt
输入加密时的密码,即可解密文件。
非对称加密使用公钥加密、私钥解密,适合需要安全分发的场景(如传输敏感文件)。
生成私钥(private_key.pem,2048位)和公钥(public_key.pem):
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
openssl rsa -pubout -in private_key.pem -out public_key.pem
私钥需严格保密,公钥可公开分发。
使用pkeyutl命令(非对称加密工具),指定公钥(-inkey public_key.pem)和-pubin(表示使用公钥):
openssl pkeyutl -encrypt -in plaintext.txt -out encrypted_file.enc -pubin -inkey public_key.pem
加密后的文件仅能用对应私钥解密。
使用私钥(private_key.pem)解密:
openssl pkeyutl -decrypt -in encrypted_file.enc -out decrypted_file.txt -inkey private_key.pem
输入私钥密码(若有),即可恢复原始文件。
若不想每次手动输入密码,可将密码保存到文件(如key_file),通过-pass file:参数指定:
echo "your_strong_password" > key_file
chmod 600 key_file # 限制文件权限,防止未授权访问
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted_file.enc -pass file:key_file
openssl enc -d -aes-256-cbc -in encrypted_file.enc -out decrypted_file.txt -pass file:key_file
注意:密码文件需妥善保管,避免泄露。
openssl加密私钥文件),防止泄露。