我在應用的文檔目錄中保存了一個重要的文件。我不允許其他人查看其內容,因此我使用自動生成的AES密鑰對文件進行加密,並使用RSA公鑰對此AES密鑰進行加密,然後將加密的AES密鑰保存到NSUserDefaults。在我的代碼中寫入RSA私鑰是否安全
當使用重要文件時,我將獲取加密的AES密鑰並使用RSA公鑰解密AES密鑰,然後解密該文件。
但我不知道在哪裏存儲RSA私鑰,是否安全地將其寫入我的代碼中,如NSString *rsaPrivateKey = @"%^^&*(())";
,如果不是,是否有更安全的解決方案?
我知道如何使用OpenSSL的(This link helps me)
編輯生成RSA公鑰和私鑰:
的重要文件,是隻開放給用戶自己,你可以把它看作與一些敏感的照片內容和照片由用戶保存。
這是一個敏感的話題。你無法在本地存儲它,這將是完全的黑客證明。最好的辦法是從服務器獲取它並將其存儲在iOS鑰匙串中。從程序中獲取字符串不是很難。 – borrrden
@borrrden謝謝你的回答。我知道最好從服務器上獲取它,但實際上我沒有服務器... – KudoCC
如果你沒有服務器,那麼我建議使用'#define'來代替它,並使它成爲一個C字符串。實際上,將它們組合成一個'NSString',或者甚至可以將密鑰基於您在運行時生成的UUID。 – borrrden