2013-05-07 50 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