javascript - 關於使用 crypto-js AES加密 PHP後端解密的問題?求梳理求講解

來源:互聯網
上載者:User
看了一下關於加密登陸的相關內容,確實沒有認證不是https方式的登陸很不安全,POST的值能全部看到。
找了一些資料關於js加密php解密的資料,但是還是不是非常清楚,
大概思路是通過前台向後台發出請求獲得一個密鑰,然後前台進行加密,傳到後端解密。
(沒有認證只是簡單的js加密)
問題
1. 在前台向後台請求密鑰的時候是不是就有安全隱患,不管是存在cookie還是session
2. 確實很多概念還不清楚就來提問了,但是希望大神能幫忙梳理一下。

http://skysbird.duichenmei.com/?p=306 看到了一下這個代碼,思路清晰了一些。

又在網上搜尋了到這兩段代碼。
------javascript


php------

$text = "Message";$key = md5($text);  //key的長度必須16,32位,這裡直接MD5一個長度為32位的key$iv='1234567812345678';$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $text, MCRYPT_MODE_CBC, $iv);$decode = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $crypttext, MCRYPT_MODE_CBC, $iv);echo base64_encode($crypttext);echo "
";echo $decode;echo "
";

如果是對應的,js的encrypted 傳到php 值是和$crypttext 相等,但是mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $crypttext, MCRYPT_MODE_CBC, $iv); 中的$key 是md5的$text。搞不清白了。
求簡單細緻解說。

回複內容:

看了一下關於加密登陸的相關內容,確實沒有認證不是https方式的登陸很不安全,POST的值能全部看到。
找了一些資料關於js加密php解密的資料,但是還是不是非常清楚,
大概思路是通過前台向後台發出請求獲得一個密鑰,然後前台進行加密,傳到後端解密。
(沒有認證只是簡單的js加密)
問題
1. 在前台向後台請求密鑰的時候是不是就有安全隱患,不管是存在cookie還是session
2. 確實很多概念還不清楚就來提問了,但是希望大神能幫忙梳理一下。

http://skysbird.duichenmei.com/?p=306 看到了一下這個代碼,思路清晰了一些。

又在網上搜尋了到這兩段代碼。
------javascript


php------

$text = "Message";$key = md5($text);  //key的長度必須16,32位,這裡直接MD5一個長度為32位的key$iv='1234567812345678';$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $text, MCRYPT_MODE_CBC, $iv);$decode = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $crypttext, MCRYPT_MODE_CBC, $iv);echo base64_encode($crypttext);echo "
";echo $decode;echo "
";

如果是對應的,js的encrypted 傳到php 值是和$crypttext 相等,但是mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $crypttext, MCRYPT_MODE_CBC, $iv); 中的$key 是md5的$text。搞不清白了。
求簡單細緻解說。

  1. 對。密鑰通過明文傳播就會有加密隱患。另外有更可怕的例子,已證實有中國電訊廠商直接把用於加密的JS函數給改了。
  2. 在JS中和PHP中,這裡都使用了同一個密鑰建置規則:自訂一個String,然後用其MD5值做AES密鑰。這樣一來會避免密鑰長度補齊之類的問題。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.