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
提升权限);