1

我想创建一个简单的应用程序来存储一些秘密信息。我会要求用户为此目的创建一个密码。这是否足以保护信息,或者我是否应该做出一些其他规定,比如加密数据。请提供适当的指导。

4

5 回答 5

4

是的,如果您要存储密码,则应该对其进行加密。检查此链接以获取所有可能的加密/解密选项的列表。

于 2012-10-08T06:56:12.000 回答
1

正如您所说的数据是安全的,尽管有密码保护,您仍应始终进行加密。

于 2012-10-08T06:56:37.730 回答
0

最好的办法是使用 AES 等安全加密算法对数据进行加密,并以安全的方式从用户密码生成密钥,从而使每个用户的数据都得到唯一加密。密码应使用加盐散列(如 bcrypt 或 PBKDF2)存储,以便它们不易受到彩虹表攻击(其中散列在表中预先计算以进行匹配)。

这种方案的一个缺点是,如果用户忘记了密码,您可能会丢失数据,因为他们的密码和数据都无法恢复。如果不需要对数据进行如此严格的保护,那么您可以生成一个安全密钥并使用它来使用相同的密钥加密所有数据,但是无论如何,当将密码存储回您的数据存储时,绝对应该对密码进行散列和加盐处理。

于 2012-10-08T09:08:23.207 回答
0

是的 Mohit,在将此类机密信息存储在移动设备上时,您需要对此类信息进行加密以提高安全性。

看看这个链接

于 2012-10-08T06:56:52.550 回答
0

不要加密密码。相反,为每个用户使用带有随机盐(至少 16 个字节)的盐渍哈希(SHA-2)。然后,通过另一个散列算法运行散列,并使用该散列来加密您的数据。

于 2012-10-08T07:14:43.487 回答