我的公司正在我们的网站上实现 V.me 结账。 Visa 为我们提供了一个用于解密数据的 php 辅助函数文件,但其中一个使用带有 OPENSSL_RAW_DATA
参数的 openssl_decrypt
,该参数仅在 PHP 5.4.something 中可用。
return openssl_decrypt($data, 'aes-256-cbc', hashKey($key), OPENSSL_RAW_DATA, $iv);
我们运行的是 PHP 5.3,没有升级选项。我如何修改此函数,使其仍然按照设计的目的运行,而无需使用该全局参数?
最佳答案
只需传递(整数)1,即 OPENSSL_RAW_DATA
常量的值:
return openssl_decrypt($data, 'aes-256-cbc', hashKey($key), 1, $iv);
在 PHP 5.4 之前,它是一个名为“raw_data”的 bool 参数,因此您也可以传递 bool 值 TRUE,但使用整数有一个优势 - 它是向前兼容的。 p>
在 PHP 5.3 上,int(1) 被隐式转换为 bool 值 TRUE,而在 5.4+ 上,您将传递真实的标志值。
关于php - 在带有 php 5.3 的 openssl_decrypt 中使用 OPENSSL_RAW_DATA 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24707007/