OpenSSL加密/解密字符串

时间:2014-05-13 04:18:56

标签: openssl aes

我试图加密/解密字符串,并在解密时不断收到错误。

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:

1 个答案:

答案 0 :(得分:3)

更新:我发现了问题。我把加密数据括在双引号之间。当我删除它并像这样运行它时:

echo 7nO8yVKleLvbSneIi7qr82oSuiwRtnt5Iqqoynidl90= | %OPENSSL%\openssl enc -base64 -d -aes-256-cbc -S %Salt% -salt -K %Key% -iv %IV% 

完美解密