虽然我理解了进程背后的腌制和散列密码的神学,但我不太了解这种方法。据我所知,this question中列出的方法及其相关答案,以及此MSDN article,都经历了创建不同长度的盐的步骤,以便在散列过程中使用给出密码。
但是,以后检查密码怎么样?据我所知,重新创建哈希会导致生成一个全新的盐,最终导致验证失败,并尝试登录。
我错过了保存盐或盐配方的地方吗?或者我不太了解这个过程?
答案 0 :(得分:1)
你应该:
如果要对用户进行身份验证,只需使用先前保存在数据库中的盐再次计算哈希值,然后比较哈希值。
以下an excellent article详细说明了该过程。它还提供complete C# implementation。