Mur*_*san 1 c# security encryption bcrypt
使用BCrypt技术将密码作为哈希存储到数据库中.虽然与MD5,SHA-1等快速哈希算法相比可能有点慢,但我们决定更安全.
在.Net中我使用http://bcrypt.codeplex.com/实现了
BCrypt.Net.BCrypt.HashPassword("Password", BCrypt.Net.BCrypt.GenerateSalt(12));
Run Code Online (Sandbox Code Playgroud)
在我们的网站中,管理员将为新用户创建用户名和密码.
存储散列密码没有问题.但是如果管理员想要更新密码,他需要查看旧密码.我没有看到任何解密存储在Bcrypt.Net中的数据库中的散列值的方法.
有没有办法从Bcrypt哈希密码生成文本?但是我同意这不应该是可能的,但有一些情况我们会这样做:(
更新:我决定使用存储在某些表中的默认密码作为纯文本和散列文本并存储为用户的密码.当用户登录该站点时,他将被迫更改密码,直到他重置为止.这听起来不错吗?
Jar*_* Ng 14
根据设计,加密散列是一种单向函数.正是散列函数的意图是不可逆转.此外,多个输入可以散列到同一输出.
要求访问旧密码以设置新密码表示设计有缺陷.为什么确切地说,为了更新密码,您需要以纯文本访问旧密码?
| 归档时间: |
|
| 查看次数: |
7277 次 |
| 最近记录: |