如何使用OpenSSL命令解密AES加密数据?
使用OpenSSL解密AES-256-CBC加密数据
直接用OpenSSL的enc命令就能完成解密,你的加密数据和IV都是Base64编码格式,密钥长度恰好匹配AES-256的要求(32字节),具体操作步骤如下:
1. 将密钥和IV转换为十六进制格式
OpenSSL的-K(密钥)和-iv(初始化向量)参数需要接收十六进制格式的值,先做格式转换:
- 密钥转十六进制:
echo -n "uHe2MCmggLlugpGBiMVuXTck7OT8Nk8g" | xxd -p -c 256
输出结果:754865324d436d67674c6c7567704742694d56755854636b374f54384e6b3867
- IV转十六进制(先解码Base64再转十六进制):
echo -n "LNP8U7pc6GjxzxAtgw4s3A==" | base64 -d | xxd -p -c 256
输出结果:4c34fc53b973a1a3c73c02d830e2cdc
2. 执行解密命令
把上面得到的十六进制密钥和IV代入以下命令,解密Base64编码的加密数据:
echo "GD5YV2naJZ/x3mQnfictWQ==" | openssl enc -d -aes-256-cbc -base64 -K 754865324d436d67674c6c7567704742694d56755854636b374f54384e6b3867 -iv 4c34fc53b973a1a3c73c02d830e2cdc
执行后即可得到解密后的明文。
注意:如果是在macOS系统中,
base64命令的解码参数是-D,需要把上述命令中的base64 -d替换为base64 -D。
内容的提问来源于stack exchange,提问作者anton_valii_cto
相关产品推荐
相关产品推荐

