2011-11-18 56 views
0

有沒有關於使用目標c構建加密密鑰庫的教程?我想在iPhone應用程序中加密內容,但應用程序將無法訪問網絡。所有內容將作爲打包嵌入到應用程序中。我可以簡單地對解密密鑰進行硬編碼或使用內存中的某種算法動態生成解密密鑰。但我讀過這兩種技術都很容易被破解。相反,我想看看是否可以通過實現密鑰存儲庫/密鑰存儲庫將我的密鑰進一步抽象化。有沒有好的指針?在目標c中構建一個加密密鑰庫?

回答

1

要加密的數據有多大?如果它是密碼等小數據,那麼最好的辦法就是將它們存儲在鑰匙串中。如果數據量較大,那麼您可能需要提示用戶輸入他們自己的祕密加密密鑰。然後,該加密密鑰可以安全地存儲在密鑰鏈中,並且當需要解密數據時可以檢索該加密密鑰。

0

我使用SFHFKeychainUtils將數據存儲在內置的鑰匙串中。它主要是爲密碼設計的,但我擴展它以支持存儲任意屬性列表。鑰匙串的主要缺點是不一定需要備份(如果在iTunes中啓用了加密備份,它只能備份到計算機上),因此某些用戶可能會丟失加密數據(尤其是遷移到較新的硬件時)。