2014-06-05 137 views
0

如何保護在首選項中保存的用戶名和密碼?Android應用程序中的保護用戶名和密碼

一些示例代碼會很好。

+2

你想保護誰?如果用戶擁有root用戶,則沒有文件是安全的。如果有人盜竊了手機,那麼你可以做的任何事情都不會讓它變得完全安全,儘管加密會讓你付出更多的代價。使其安全的最佳方式是永遠不要在磁盤上存儲密碼,使用戶重新輸入密碼。 –

+0

我想讓你閱讀這個http://stackoverflow.com/a/20560574/730807 –

回答

0
SharedPreferences sharedPreferences = MyApplication.getContext() 
    .getSharedPreferences(ApplicationConstants.SHARED_PREF_NAME, 
    Activity.MODE_PRIVATE); 

共用prefernces存儲下的Android /數據/數據/內部文件系統上yourApp的機器人,它不是對其他應用程序訪問,所以你可以私下保存在共享偏好

+0

謝謝!這很有用! – user3649608

0

在應用程序存儲器實際上共享prefrence數據存儲並且沒有其他的應用程序可以訪問該所以要小心的這個

+0

所以我不必保護他們?我真的不知道任何關於android保護的知識,我的教授也沒有解釋這一部分,但要求我們在我們的應用程序中實現它...你也知道一些有用的代碼書嗎? – user3649608

0

數據請點擊此鏈接

Encryption-decryption

加密用戶名和密碼並將其存儲到數據庫或共享首選項。 如果您未加密存儲,則可以在設備植入時訪問它。

1

如果以純文本格式在SQLite數據庫或共享首選項中存儲密碼,具有root用戶訪問權限的用戶可能會看到它們。在將證書加密到本地之前對證書進行加密會更安全,但如果有人對您的應用程序進行反向工程並獲取加密密鑰,則仍然不夠完美。

看看AccountManager。此外,this post可能會對您有所幫助。

如果您發現對於您的目的而言過於複雜,至少在將密碼存儲到SharedPreferences之前對其進行加密!你可以找到more information, explanation and code here, too