藍新金流約定信用卡 API,mcrypt_encrypt 替代解法 (PHP 7.2 以上)
藍新金流的約定信用卡(不定期不定額)的 PHP 官方文件,
使用 mcrypt_encrypt 這個函式來加密,如下示。
function newebpay_creditcard_charge_encrypt__legacy($data=""){ GLOBAL $pay_auth; return trim(bin2hex(mcrypt_encrypt( MCRYPT_RIJNDAEL_128, $pay_auth["key"], newebpay_addpadding($data), MCRYPT_MODE_CBC, $pay_auth["iv"] ))); }
但 mcrypt_encrypt 在 PHP 7.2 時棄用,
因此必須改用其他來代替。
爬了一些文章之後,
實測可以 openssl_encrypt 的 AES-256-CBC 直接換掉。
如下示:
function newebpay_creditcard_charge_encrypt($data=""){ GLOBAL $pay_auth; return trim(bin2hex(openssl_encrypt( newebpay_addpadding($data), "AES-256-CBC", $pay_auth["key"], OPENSSL_RAW_DATA | OPENSSL_NO_PADDING, $pay_auth["iv"] ))); }
以上提供給需要的工程師大大們。
參考資料:
留言
張貼留言