2013-05-07 108 views
0
  • 將密碼,令牌等機密用戶數據存儲爲共享首選項是一種很好的做法嗎?
  • 他們會安全嗎?
  • 還有其他的選擇嗎?

我想從我的應用程序的任何活動訪問這些數據。在共享首選項中存儲機密數據 - android

+3

從理論上講,如果你想,以確保數據安全,您應該存儲,而不是密碼本身密碼哈希(也許MD5)所以如果有人讀它,他不知道什麼是真正的密碼 – BackSlash 2013-05-07 13:15:20

+0

如果應用程序安裝在一個有根的設備上。沒有!根本不安全。但在這種情況下,數據庫也不是。如果它是純文本的話。 ;-) – 2013-05-07 13:15:32

+0

@BackSlash MD5永遠被破壞,不要用它來進行密碼散列。 – gustafc 2013-05-07 13:25:41

回答

2

有些用戶會說你可能不應該。

但我要說的是,在私密模式,高度加密的數據。

它不是植根設備100%安全。但是如果加密算法足夠強大,請不要擔心。

+0

使用sharedprefs我可以通過任何活動訪問數據? – user1910290 2013-05-07 13:20:31

+0

將在此鏈接解釋,以獲取任何活動中的首選項工作http://stackoverflow.com/a/3624358/1910290 – user1910290 2013-05-07 13:21:11

+0

是的,您的應用程序中的任何活動。 – cremy 2013-05-07 13:22:27

0

如果使用強大的加密算法,用於存儲用戶名,在共享偏好的密碼,它會幫助你保護他們免受惡意用戶。您必須在PRIVATE模式下使用共享首選項,以便APP外的任何其他活動都不能訪問該數據。

可以使用javax.crypto.Cipher中的類。該類提供對用於加密和解密的加密密碼實現的訪問。

使用此鏈接可以瞭解DES和AES算法:

https://security.stackexchange.com/questions/5457/which-type-of-encryption-algorithms-android-supports-and-which-would-be-better

+0

發現這只是分享http://www.androidsnippets.com/encryptdecrypt-strings – user1910290 2013-05-07 14:11:05