我正在一個應用程序誰的前端是JavaScript(骨幹)和codeigniter(php)後端。我想要一種方法,可以使用密鑰在後端對消息進行加密,並使用相同的密鑰對javascript中的消息進行解密。基本上我需要這個流程進行用戶認證。PHP-Javascript加密和解密使用相同的密鑰
因爲我無法通過互聯網找到這樣的組合,它變成了一個運氣不好的運氣。這種工作流程可以採用什麼方式?
謝謝
我正在一個應用程序誰的前端是JavaScript(骨幹)和codeigniter(php)後端。我想要一種方法,可以使用密鑰在後端對消息進行加密,並使用相同的密鑰對javascript中的消息進行解密。基本上我需要這個流程進行用戶認證。PHP-Javascript加密和解密使用相同的密鑰
因爲我無法通過互聯網找到這樣的組合,它變成了一個運氣不好的運氣。這種工作流程可以採用什麼方式?
謝謝
使用HTTPS幾乎是唯一有意義的答案。依靠Javascript加密是不好的,因爲惡意用戶可以做各種令人討厭的東西來注入腳本,讓你的前端以明文形式發送密碼,或者將它們發送到攻擊者控制的服務器。
HTTPS和SSL/TLS存在問題,但它是保護Web應用程序通信通道的標準機制。該領域的專家已經對其進行了廣泛的審查,並已針對各種故障模式和攻擊情況提供保護。
例如:聽起來像在您的評論中,您將使用單個靜態密鑰進行加密。既然你需要把密鑰發送給客戶端,你將如何安全地做到這一點?什麼阻止用戶通過訪問您的登錄頁面合法獲取密鑰,然後使用它來解密任何其他用戶的通信?如果使用一個密鑰發送了足夠多的消息,那麼您的移動到新密鑰的機制是什麼?
HTTPS涵蓋了這些場景。如果你正在用你的web應用程序「真正」做某件事(如果這些日子真的只有幾美元),那麼你可能需要爲證書付出幾塊錢,但這確實是一條可行的路。
是不是基於SSL/TLS的HTTP你在找什麼?如果JavaScript部分通過HTTPS與您的PHP-API進行通信,則郵件將被加密。 – 2013-02-13 08:03:35
客戶端沒有真正的安全解密。每個人都可以看看算法和密鑰... – Sirko 2013-02-13 08:06:36
你將如何將這個密鑰傳輸到客戶端? – 2013-02-13 08:56:35