2014-07-11 37 views
8

我的公司正在我們的網站上實施V.me checkout。 Visa爲我們提供了一個用於解密數據的php helper函數文件,但其中一個使用openssl_decryptOPENSSL_RAW_DATA參數,該參數僅在PHP 5.4.something中可用。在openssl_decrypt和php 5.3中使用OPENSSL_RAW_DATA參數

return openssl_decrypt($data, 'aes-256-cbc', hashKey($key), OPENSSL_RAW_DATA, $iv); 

我們正在運行PHP 5.3,並且沒有升級選項。我怎樣才能修改這個函數,使它仍然按照它設計的那樣去做,而沒有全局參數可用?

回答

12

剛及格(整數)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+則會傳遞實際標誌值。