台灣最大程式設計社群網站
線上人數
1137
 
會員總數:240849
討論主題:186637
歡迎您免費加入會員
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
AES解密亂碼
價值 : 50 QP  點閱數:249 回應數:4

樓主

白翼
門外漢
0 31
458 20
發送站內信

問題是這樣的,想用AES加密字串後傳輸,但是發現加密某些字串後,解密出來的會是亂碼

data的部分,如果輸入(以下範例)
"H1">>亂碼
"H2">>亂碼
"H3">>"H3"(正常)
"H4">>亂碼
"H5">>H5(正常)
"H6">>H6(正常)
"H7">>H7(正常)
"H8">>H8(正常)
"H9">>H9(正常)
"H6124">>亂碼
"H6125">>H6125(正常)

諸如此類,請先進這是那部分有問題呢?





搜尋相關Tags的文章: [ AES ] , [ 加密 ] , [ 解密 ] ,
本篇文章發表於2017-05-22 16:51
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

彩虹
檢舉此回應
先不管為什麼會有亂碼問題

aes encode、decode 統一在 PHP 做就好了,為什麼要一半透過 Javascript呢 ?

你知道你把 Key、IV 寫在javscript,然後透過瀏覽器檢視原始碼,我是可以看得一清二楚

你覺得有加密跟沒加密有什麼差別?


先把這觀念釐清一下吧,並把程式碼改寫


本篇文章回覆於2017-05-22 17:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

白翼
檢舉此回應
感謝先進回復,終端是移動式設備,開法平台只能是HTML+JS做發開發(封裝成移動設備安裝檔)

所以並非刻意加解密分開來做,而是只能這樣做
本篇文章回覆於2017-05-22 19:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

彩虹
檢舉此回應
剛實測後,的確會有問題
但如果你同時換一組 key 跟 iv,卻可以變正常,但是有些部分可能會便不正常

我想這是 javascript 與 PHP 在做 AES加解密時,有些許的不一樣,所以無法達到 100% 相容

剛試過拆開,各自做加解密就沒有這個問題
也就是javascript自行處理加解密、PHP自己處理加解密
同樣的KEY、IV,加密過後的結果居然會不一樣

所以,如果只能使用 HTML + JS 開發的話,終端設備盡量也以 JS 來做接收會比較妥當

本篇文章回覆於2017-05-23 00:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

白翼
檢舉此回應
後來發現,加入以下這行就能正常的被解密

目前測試上正常,之前會亂碼的字串也都能被正常的解密了
本篇文章回覆於2017-05-23 11:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.