Emm*_*myS 11 php encryption php-openssl
我公司正在我们的网站上实施V.me结账.Visa为我们提供了一个用于解密数据的php辅助函数文件,但其中一个使用openssl_decrypt了OPENSSL_RAW_DATA参数,该参数仅在PHP 5.4.something中可用.
return openssl_decrypt($data, 'aes-256-cbc', hashKey($key), OPENSSL_RAW_DATA, $iv);
Run Code Online (Sandbox Code Playgroud)
我们正在运行PHP 5.3,没有升级选项.如何修改此功能,以便在没有全局参数可用的情况下仍然执行它的设计?
Nar*_*arf 15
只需传递(整数)1,这是OPENSSL_RAW_DATA常量的值:
return openssl_decrypt($data, 'aes-256-cbc', hashKey($key), 1, $iv);
Run Code Online (Sandbox Code Playgroud)
在PHP 5.4之前,它是一个名为"raw_data"的布尔参数,因此您也可以传递布尔值TRUE,但使用整数有一个优势 - 它是向前兼容的.
在PHP 5.3上,int(1)隐式地转换为布尔值TRUE,而在5.4+上,你将传递真正的标志值.