0

我创建了一个登录系统,并被告知要对我的密码进行散列和加盐。现在,我查看了 google、msdn、SO,发现了很多关于 hashing 和 salting 的东西,但似乎不明白该怎么做?我想我得到了这个过程:

您获取用户创建的密码并对其进行散列 这将写入数据库,但同时您获取散列,并使用 security.cryptography 中的 RGN 对其进行加盐,然后将加盐添加到数据库

然后要撤消它,只需重复该过程,对吗?

4

2 回答 2

3

当您第一次存储密码时,它是这样的:

  1. 生成盐。
  2. 将其连接到密码的末尾。
  3. 散列密码+盐。
  4. 为用户存储散列字符串和盐。

然后当用户尝试登录时:

  1. 获取用户的盐。
  2. 将盐连接到输入密码的末尾。
  3. 散列密码+盐。
  4. 如果散列字符串与为用户存储的散列字符串匹配,则密码正确。
于 2013-10-04T04:10:35.783 回答
1

我在这里的另一篇文章中用示例解释了整个过程:

盐渍密码101

于 2013-10-04T04:21:40.980 回答