Ctrl + Alt + T启动终端。sudo apt update && sudo apt install openssl
.enc、.pem、.der)及密钥/密码(若为对称加密需密码,非对称加密需私钥)。对称加密(如AES)使用相同密钥/密码加密和解密,常见命令格式如下:
openssl enc -d -<加密算法> -in <加密文件路径> -out <解密后文件路径> -pass pass:<密码>
参数说明:
-d:表示解密操作;-<加密算法>:指定加密算法及模式(如aes-256-cbc、des-ede3-cbc);-in:加密文件的输入路径(如encrypted_file.enc);-out:解密后文件的输出路径(如decrypted_file.txt);-pass pass:<密码>:以明文形式提供加密时的密码(若密码含特殊字符,需用引号包裹,如-pass pass:"my@password")。示例:解密file.enc(AES-256-CBC加密,密码为mypassword):
openssl enc -d -aes-256-cbc -in file.enc -out file_decrypted -pass pass:mypassword
执行后会提示输入密码,确认无误后解密完成,结果保存在file_decrypted中。
若文件是用RSA公钥加密的(如.pem、.der格式的私钥文件),需使用对应的私钥解密,常见命令格式如下:
openssl rsa -in <加密私钥文件> -out <解密后私钥文件> -passin pass:<私钥密码>
# 或使用rsautl命令解密数据(若数据直接用公钥加密)
openssl rsautl -decrypt -inkey <私钥文件> -in <加密数据文件> -out <解密后数据文件>
参数说明:
rsa:针对RSA密钥的操作;-in:加密的私钥文件路径(如private_key.enc);-out:解密后的私钥文件路径(如private_key.pem);-passin pass:<私钥密码>:提供私钥的密码(若私钥无密码,可省略此参数);rsautl:RSA工具命令;-decrypt:指定解密操作;-inkey:私钥文件路径(如private_key.pem);-in:加密的数据文件路径(如encrypted_data.bin)。示例:
keypass):openssl rsa -in private_key.enc -out private_key.pem -passin pass:keypass
openssl rsautl -decrypt -inkey private_key.pem -in encrypted_data.bin -out decrypted_data.txt
Base64编码的加密数据:若加密数据是Base64格式,需先解码再解密:
openssl base64 -d -in encoded_file.txt | openssl enc -d -aes-256-cbc -out decrypted_file.txt -pass pass:<密码>
此命令先通过base64 -d解码,再将结果通过enc -d解密。
使用密码文件提供密码:为避免命令行泄露密码,可将密码存入文件(如password.txt),使用-pass file:参数:
openssl enc -d -aes-256-cbc -in encrypted.enc -out decrypted.txt -pass file:password.txt
确保密码文件的权限设置为仅自己可读(chmod 600 password.txt)。
-pass file:或环境变量传递);sudo提升权限);