哈希/盐渍密码的寿命

时间:2015-10-14 13:56:37

标签: c# hash passwords salt

虽然我理解了进程背后的腌制和散列密码的神学,但我不太了解这种方法。据我所知,this question中列出的方法及其相关答案,以及此MSDN article,都经历了创建不同长度的盐的步骤,以便在散列过程中使用给出密码。

但是,以后检查密码怎么样?据我所知,重新创建哈希会导致生成一个全新的盐,最终导致验证失败,并尝试登录。

我错过了保存盐或盐配方的地方吗?或者我不太了解这个过程?

1 个答案:

答案 0 :(得分:1)

你应该:

  1. 为每个密码创建新盐
  2. 哈希密码
  3. 以简单文本的形式保存哈希和盐
  4. 如果要对用户进行身份验证,只需使用先前保存在数据库中的盐再次计算哈希值,然后比较哈希值。

    以下an excellent article详细说明了该过程。它还提供complete C# implementation