2017-10-05 213 views
1

我想知道如何在Android中安全地存儲加密密鑰?保護加密和密鑰的最佳方案是什麼?如何在android中安全地存儲加密密鑰?

+1

您是否正在考慮對磁盤上的某些內容或與您的應用一起存儲的加密文件進行加密?在第一種情況下,在運行時創建密鑰並將其放入密鑰庫中。在第二種情況下,請勿將密鑰放入應用程序中。最好的辦法是從服務器上下載它,但這樣做仍然留下一個攔截窗口。真的都這樣做,如果有人正在努力,他們會得到它。最好的做法是不要在您不想讓用戶看到的客戶端電話上放置任何信息。 –

+0

請給我一個在keystore中存儲密鑰的例子 – Vijay

回答

1

您不能將加密密鑰放在您的apk文件中。您可能希望將其保存在遠程服務器中並使用服務器進行解密。或者你可以通過對密鑰進行編碼並將其保存在非顯而易見的地方來使其他人很難。但是沒有防彈解決方案。

+0

** androidKeyStore **怎麼樣? – Vijay

+1

如果加密密鑰可以是運行時生成的隨機字符串,則可以使用KeyStore。但是如果持久存儲,它可以從具有根訪問權的設備讀取。 –

1

沒有辦法將您的私人api密鑰安全地保存到代碼中。但是您可以使用NDK來安全地保存私鑰。從NDK獲取密鑰並不是微不足道的。 Secue Key With NDK Example

+0

另一方面,C++不能被反編譯,但可以** **反彙編**,這比java稍微簡單一些。它也不安全:( – Vijay

+0

是的,你是對的。 – Manish