第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用 Crypto.JS 加密并使用 PHP 7.3 解密

使用 Crypto.JS 加密并使用 PHP 7.3 解密

PHP
慕桂英3389331 2023-06-18 17:13:55
我正在將我的代碼從 PHP 5.6 升級(jí)到 7.3,這是我的 Ionic 應(yīng)用程序的 Woocommerce 插件。與此同時(shí),我注意到 mcrypt_decrypt 在 PHP 7 中已被棄用。我試圖弄清楚如何更改我的代碼,但它仍然沒(méi)有返回相同的字符串。這是我在應(yīng)用程序中的加密代碼: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);你能給予支持嗎?
查看完整描述

1 回答

?
藍(lán)山帝景

TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊


此外,MCRYPT_RIJNDAEL_256 不是 AES-256,它是 Rijndael 塊密碼的不同變體。如果你想在 mcrypt 中使用 AES-256,你必須使用帶有 32 字節(jié)密鑰的 MCRYPT_RIJNDAEL_128。OpenSSL 使您使用的模式更加明顯(即“aes-128-cbc”與“aes-256-ctr”)。

這意味著您之前一直在使用 AES-256,而不是 AES-128。

此外,正如@Topaco 正確指出的那樣,CryptoJS 默認(rèn)使用 CBC 模式。

把這個(gè)放在一起:

$result?=?openssl_decrypt($data,?'aes-256-cbc',?$key,?$options=OPENSSL_RAW_DATA,?$iv);

應(yīng)該給出與您之前的解決方案相同的結(jié)果mcrypt_decrypt。


查看完整回答
反對(duì) 回復(fù) 2023-06-18
  • 1 回答
  • 0 關(guān)注
  • 284 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)