我试图加密/解密字符串,并在解密时不断收到错误。
set OPENSSL=C:\Projects\WinTools\Tools\OpenSSL\x86\bin
set Key=748FBA160C30A2624859A44A1830C061434C76E3278AFB75330C8CA2CF1F5184
set IV=84DB32005B226D7F9964B758C9157538
set Salt=96F697CA35CED67A
我加密如下:
echo "Test is test" | %OPENSSL%\openssl enc -base64 -e -aes-256-cbc -S %Salt% -K %Key% -iv %IV%
解密它:
echo "7nO8yVKleLvbSneIi7qr82oSuiwRtnt5Iqqoynidl90=" | %OPENSSL%\openssl enc -base64 -d -aes-256-cbc -S %Salt% -K %Key% -iv %IV%
解密时遇到的错误是:
警告:无法打开配置文件:/usr/local/ssl/openssl.cnf 解密不好 4124:错误:0606506D:数字包络例程:EVP_DecryptFinal_ex:错误的最终块长度:。\ crypto \ evp \ evp_enc.c:532:
答案 0 :(得分:3)
更新:我发现了问题。我把加密数据括在双引号之间。当我删除它并像这样运行它时:
echo 7nO8yVKleLvbSneIi7qr82oSuiwRtnt5Iqqoynidl90= | %OPENSSL%\openssl enc -base64 -d -aes-256-cbc -S %Salt% -salt -K %Key% -iv %IV%
完美解密