我的公司正在我们的网站上实施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);
我们正在运行PHP 5.3,没有升级选项。如何修改此功能,以便在没有可用的全局参数的情况下仍然执行它的设计?
答案 0 :(得分:15)
只传递(整数)1,即OPENSSL_RAW_DATA
常数的值:
return openssl_decrypt($data, 'aes-256-cbc', hashKey($key), 1, $iv);
在PHP 5.4之前,它是一个名为“raw_data”的布尔参数,因此也可以传递布尔值TRUE,但使用整数有一个优势 - 它是向前兼容的。
在PHP 5.3上,int(1)被隐式地转换为布尔值TRUE,而在5.4+上你将传递真正的标志值。