2013-10-31 23 views
0

我知道這個問題已被問及一百萬次,但我找到的每個答案都不完整,或者由於不安全因素而被刪除的AES256EncryptWithKey類別的鏈接。對PHP或Python中的字符串進行簡單加密並在iOS中進行解密

基本上,我有一個PHP腳本發送JSON數據到我的iPhone應用程序。在這個JSON數據中,我想加密一些將在應用程序中解密的字符串。這些不是超級敏感的字符串或任何東西,只是價目表,我們不希望競爭對手爲自己的節目刮。

我的加密知識最多是最少的。我知道PHP有一些關鍵的填充問題,所以我不介意如果我必須使用Python或Perl來執行加密。我只想將加密的字符串base64_encoded,發送到應用程序,然後解碼以顯示在應用程序中。我想我只會在服務器和應用程序上使用硬編碼密鑰來加密/解密。

是否有任何簡單的類,代碼片段,函數,只要這樣做?任何鏈接到足夠安全的這種類型的加密的其他答案?

對不起,如果這是之前的答案,我一直在尋找一天,並沒有找到我在找什麼。

+0

你如何從服務器請求數據?一個http請求? – manecosta

+0

是的,一個簡單的「NSURLConnection sendAsynchronousRequest」來獲取JSON。 HTTPS無法正常工作,因爲您只需找到應用程序請求的網址並獲取所有內容即可。 – shiznatix

+0

您可以將其轉換爲HTTPS並使應用程序發送某種身份驗證作爲請求上的POST參數。只需定義一些複雜的密碼或其他內容,並在PHP端,只有提供密碼時才發送數據。 – manecosta

回答

0

將其轉換爲HTTPS並使用某種祕密進行身份驗證將是處理該問題的一種非常簡單的方法。

你的另一種選擇是使用某種預先選擇的密鑰實現與對稱密碼學的通信,這些密鑰既在你的服務器上,也與應用程序一起提供。我想這種方法很容易受到應用程序的某種逆向工程,以找出關鍵是什麼,但是您的競爭對手會走這麼遠嗎?

我發現了一些有用的鏈接,你可以檢查iOS和PHP。

哪種加密使用方法:Which PHP mcrypt cipher is safest?

的iOS適當的加密:http://robnapier.net/blog/aes-commoncrypto-564

如何PHP AES:Using PHP mcrypt with Rijndael/AES

如果你認爲你的競爭對手會逆向工程的應用找到鑰匙,你唯一的另一種方法是實現某種非對稱密碼體制來同意在對稱體上使用密鑰。爲此,您需要非對稱部分的證書。在這一點上,我只是告訴你再次使用HTTPS將處理所有這些:P

+0

已編輯 - 您發送的iOS鏈接僅用於加密。有沒有預先編寫的解密類? – shiznatix

+0

Rob Robier在示例代碼中爲該操作提供了'kCCEncrypt'或'kCCDecrypt'。 – zaph

相關問題