在我的遊戲應用程序中,從iPhone/iPad運行到通過TCP控制的中央服務器,我需要發送登錄信息。如何加密通過TCP傳輸的密碼?
我目前所做的是發送一個登錄操作碼和ascii字節登錄和密碼在明確。我不想在明文中發送用戶密碼 - 例如,他們可能在無線連接上。
我該如何處理加密?下面是我的要求:
- 我不希望向使用第三方lib下,我會在絕對必要的。如果必要的話它必須BSD許可證或類似
- 什麼是我的回答「是」上「你的應用程序有加密在它」在App Store中
- 我想這個應用程序是在每一個國家的影響
- 在本地設備上散列密碼並僅發送緩存值是否可以接受?用戶的帳戶可能會被哈希被盜用,但密碼不會丟失(並且我不會存儲他們的密碼)..
- 我不能有某種OAuth out-of-the -app安裝系統完成,因爲我以前經歷過,它太侵入
我在這裏有點不知所措。我非常感謝這裏的任何幫助,因爲這是我在結束近一年的開發之前需要解決的最後3件事情之一..(所以這不是理論上的或過早的優化!它已經成長爲一個實際問題..)
你看着像[RSA]一種公共密鑰加密的(http://en.wikipedia.org/wiki/RSA)?或者,如果您願意將密鑰保存在客戶端中,那麼[AES](http://en.wikipedia.org/wiki/Advanced_Encryption_Standard)如何?存在預構建的庫,但您可以自己實現這些方法 - 它們的規範是公有領域。 – ShaneC
安全傳輸層或不安全,絕不需要存儲明文密碼或通過電線發送。做一些閱讀。 :) – bzlm