我正在創建一個Android應用程序,在該應用程序中首次使用電話號碼驗證(與Whatsapp中的情況相同)。當電話號碼得到驗證成功後,我希望以不能被用戶更改/更改的方式存儲號碼。默認情況下,Android(SQLlite)中的數據以文本格式存儲在存儲上,可以由用戶編輯。我想消除這個缺點。我應該使用SQLCipher來存儲它嗎?或者有沒有其他的方式來存儲它? 還是有誰知道Whatsapp使用哪種技術來存儲這種類型的敏感信息?如何在Android數據庫中安全地存儲數據
1
A
回答
0
0
從the Android Security Tips article逐字引用:
默認情況下,您在internal storage創建文件只能訪問到你的應用程序。這種保護由Android實施,對於大多數應用程序而言已足夠。
對於IPC文件,通常應避免使用MODE_WORLD_WRITEABLE
或MODE_WORLD_READABLE
模式,因爲它們不提供限制對特定應用程序的數據訪問的能力,也不提供對數據格式的任何控制。如果您想與其他應用程序進程共享數據,則可以考慮使用content provider,該應用程序爲其他應用程序提供讀取和寫入權限,並可以根據具體情況制定動態權限授予。
要爲敏感數據提供額外的保護,您可以選擇使用應用程序無法直接訪問的密鑰來加密本地文件。例如,可以將密鑰放置在KeyStore
中,並使用未存儲在設備上的用戶密碼進行保護。雖然這不能保護數據免受可能監視用戶輸入密碼的根本危害,但它可以爲沒有file system encryption的丟失設備提供保護。
另請注意,在external storage上創建的文件(如SD卡)是全局可讀寫的。由於外部存儲可以由用戶刪除,也可以由任何應用程序修改,因此您不應該使用外部存儲來存儲敏感信息。
最後,this SO question (Android Secure Storage)可能會讓你感興趣。
相關問題
- 1. Android中的安全數據庫存儲
- 2. 安全地存儲數據
- 3. Android安全地存儲用戶數據
- 4. 如何安全地存儲MySQL數據?
- 5. android安全數據存儲
- 6. 如何在Python中安全地存儲數據庫密碼?
- 7. 如何安全有效地將SSN存儲在數據庫中?
- 8. 如何安全地在數據庫中存儲密碼?
- 9. 如何安全地將數據存儲在Android設備中?
- 10. 如何在phonegap android中安全地存儲json數據?
- 11. 在Android中存儲安全數據
- 12. 如何將敏感數據安全地存儲在MySQL數據庫中?
- 13. 數據庫憑據的安全存儲
- 14. 在iOS上安全地存儲數據
- 15. 在數據庫中存儲數據的安全方式
- 16. 在android數據庫中存儲數據
- 17. 如何在android數據庫中存儲
- 18. 將帳戶餘額安全地存儲在數據庫中?
- 19. 將公鑰/私鑰安全地存儲在數據庫中
- 20. 如何使用React Native在iOS中安全地存儲數據?
- 21. 使用Symfony安全地將用戶數據存儲在數據庫中
- 22. 如何將安全憑證存儲在數據庫中
- 23. 如何保存在數據庫中laravel 5.1安全的數據?
- 24. 存儲的數據安全
- 25. 安全地將Android Firebase身份驗證用戶存儲在MySQL數據庫中
- 26. 如何使用存儲函數安全地檢索sql數據
- 27. 如何在sqlite數據庫中存儲統一地形數據?
- 28. 如何有效地在數據庫中存儲多個數據?
- 29. 如何安全地將可疑SQL注入攻擊存儲在數據庫中?
- 30. 如何在數據庫中將數據存儲到數據庫
我得到了你的答案。但問題是我只想安全地存儲一個10位數的電話號碼。我不需要任何大型數據庫。我應該如何安全地存儲10位整數值? –
訪問此鏈接,它有關於如何密碼祕密數據的詳細說明:http://android-developers.blogspot.co.il/2013/02/using-cryptography-to-store-credentials.html –