sch*_*ter 2 php openssl mcrypt
我的openssl_decrypt
功能有问题。
示例代码:
// mcrypt
$decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv);
// OpenSSL
$decrypted = openssl_decrypt($data, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
Run Code Online (Sandbox Code Playgroud)
该mcrypt_decrypt
功能工作正常。但是openssl_decrypt
返回FALSE
并出现以下错误:
错误:06065064:数字信封例程:EVP_DecryptFinal_ex:错误解密
密钥的长度为32个字节,iv的长度为16个字节。
有人知道怎么了吗?
该问题的解决方案是OPENSSL_RAW_DATA
和OPENSSL_ZERO_PADDING
:
$decrypted = openssl_decrypt($data, 'AES-256-CBC', $key, OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING, $iv);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
974 次 |
最近记录: |