|
|
1
2
Joel的语句在SQL Server 2000中似乎是正确的,但在SQL Server 2005中却不正确。 当您在2000年在同一个语句中一起生成散列时,它们最终得到相同的盐(开始时是随机种子数),这使它们相同。 在2005年,总产生不同的盐,所以它们永远不会匹配
如果在SQL Server 2000上尝试此操作:
在杂烩的开头,盐总是一样的,就像2005年一样,盐总是不一样的。另外,请注意,在SQL Server 2005中,哈希值较短,因为它不再以大写形式维护哈希值的副本,以便与敏感密码兼容。 如果您可以使用相同的salt生成散列,那么您可以比较它们(这意味着尝试蛮力或字典攻击),看看 this article 关于如何做。它向您展示了如何使用 CryptCreateHash 功能。 |
|
|
2
1
只需尝试使用实现pwdencrypt(“yourpa$$w0rd”)的函数来存储它,然后使用内置的fct pwdcompare(“enteredpassword”,(从dbo.users中选择pwd,其中uid='username')返回位0/1) 就是这样; |
|
|
3
0
你只要打字就行了
|