在我們的應用程序中,我們有幾個API密鑰(又名共享或私人密鑰)。那些是需要運行時除了我/我的組織之外,這些字符串永遠不會落入任何其他人的手中,這一點至關重要。編寫/提交iOS應用程序,字符串/文本應該永遠達不到黑客
嘗試1 - 什麼也不做
NSString *privateKey = @"a6dedb6096973e4576e1dfc9d048075d;
如果任何人得到這個應用程序的手,並得到通過簽訂-東西,他們可以運行二進制strings
,容易retreive所有字符串。 (FAIL)
嘗試2 - 做一些聰明
這是你的StackOverflow,你們是最棒的。給我看一些魔法!
拆分/混淆密鑰 – Volker
這是一個棘手的問題,沒有簡單的解決方案。我過去使用的一種解決方案是建立一個單獨的,專用的內部Web服務器,其唯一目的是(a)存儲私鑰,並且(b)提供內部Web服務(在PHP中使用簡單的CURL調用)用私鑰執行任何必要的功能。只有允許訪問私鑰的用戶才允許訪問* this *服務器上的源代碼。 –
如果鑰匙從不落入其他人的手中至關重要,那麼沒有安全的方式來分配他們,你應該找出一種不同的方式來實現你的目標。通過默默無聞的安全(正如Volker所建議的)根本就沒有安全保障。 如果問題的關鍵是通過Internet訪問服務,那麼根本無法保護它。任何人都可以從您的應用程序中嗅探網絡流量,以確定使用的密鑰。 對於您希望保護的密鑰的使用情況,您尚未提供足夠的信息,以便更詳細地解答您的困境。 –