我正在將我的代碼從 PHP 5.6 升級到 7.3,這是我的 Ionic 應用程序的 Woocommerce 插件。與此同時,我注意到 mcrypt_decrypt 在 PHP 7 中已被棄用。我試圖弄清楚如何更改我的代碼,但它仍然沒有返回相同的字符串。這是我在應用程序中的加密代碼:var password = this.password;if (this.appConfig.App_Secret != '') { var key = CryptoJS.enc.Utf8.parse(CryptoJS.MD5(this.appConfig.App_Secret).toString()); var iv = CryptoJS.enc.Utf8.parse(CryptoJS.MD5(this.appConfig.App_Secret).toString().substr(0, 16)); password = CryptoJS.AES.encrypt(password, key, { iv: iv }).toString();}這是我在 PHP 中的舊解密代碼:$iv=substr(md5(get_option('sow_rest_api_secret')),0,16);$key = md5(get_option('sow_rest_api_secret'));$data = base64_decode($decrypt_str);$result = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv);return rtrim($result,"\0");我使用 $result 變量更改行$result = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv);到$result = openssl_decrypt($data, 'aes-128-gcm', $key, $options=OPENSSL_RAW_DATA, $iv);你能給予支持嗎?
使用 Crypto.JS 加密并使用 PHP 7.3 解密
慕桂英3389331
2023-06-18 17:13:55