在存储一组用户凭据的本地应用程序上,是否需要密码腌制?为什么/为什么不呢?

时间:2016-10-15 17:38:03

标签: security cryptography passwords salt

我听说过,只有在您将大量用户凭据存储在同一位置时,才会提供保护。对于从未将密码发送到网络的单个用户应用程序进行腌制有什么好处?谢谢!

1 个答案:

答案 0 :(得分:0)

如果您不需要检索原始密码,则使用密码哈希。例如,当您注册并在数据库中保存密码的哈希值时,具有帐户系统的网站将对您的密码进行哈希处理。当您下次登录时,它将再次散列您输入的密码并将其与存储在数据库中的散列进行比较。您可以使用salting来更难以检索原始密码。

您有不同的用例。您想要检索密码,以便能够解密从服务器接收的数据。要实现这一点,您有一个视图选项:

  1. 为用户生成密钥并将其以明文形式存储在磁盘上。
  2. 根本不存储密码,但每次他想要访问服务器上的数据或将数据上传到服务器时,用户都要输入密码(可能会将其存储在内存中,你应该确保完全安装密码)它来自内存,程序结束)。
  3. 为用户生成一个密钥并将其存储在磁盘上,如选项1中所示,但使用与选项2中的密码类似的密码对其进行加密。
  4. 第三种选择绝对是最安全的选择。您可以控制密钥生成,因此您可以确保密钥具有合适的大小,以便在密钥在磁盘上加密时服务器无法猜测。