|
|
1
1
这取决于你试图防御的攻击。如果攻击是某人查看数据库,那么您可以使用对称加密方法(如AES),并在数据库外部定义密钥。使用此方法需要身份验证过程知道加密密钥,并通过使用加密密钥加密哈希密码来更新数据库中的所有行。
如果上面不是一个选项,你就有问题了。
您可以选择存储 古老的 散列并创建一个新字段来存储新算法。然后,当人们登录到系统时,执行升级的salted散列并删除 古老的 搞砸。这将如您所期望的那样工作,但如果一个人从未重新登录(或更改其密码),那么他将永远不会升级到哈希的salted版本。 我个人的观点是使用AES加密选项,因为这样可以防止随意查看散列密码及其覆盖 全部的 数据库中的密码。 |
|
|
2
3
向用户表中添加新字段以存储新字段 安全地 散列密码-为此,请做一些安全的事情涉及每用户盐和多轮。检查别人在做什么,而不是自己动手。 在进行密码检查时,如果newpass字段为空,请使用旧的密码查找,但在验证后,请敦促用户重新设置密码。 将当前(旧)密码方案修改为哈希(PerUserSalt+ExistingPasswordHash)应该可以正常工作。 |
|
3
2
如果你打算使用
|
|
|
TJCLK · 使用此代码可以找到6字节sha-1冲突需要多长时间? 9 年前 |
|
|
ebann · 在大文件上同时计算MD5和SHA1 9 年前 |
|
|
osgx · bup(基于git的映像备份)如何计算存储对象的哈希值 10 年前 |
|
|
gbtimmon · 为什么这些SHA1实现不同? 10 年前 |
|
|
Indivara · 从VBA调用.NET加密 11 年前 |
|
|
mibollma · 支持RSA加密的智能卡系统[已关闭] 12 年前 |
|
|
lorigio · C#和C之间的SHA1不同++ 12 年前 |
|
|
Thomas Matthews · 验证SHA-1算法(功能) 12 年前 |