1

我们一直PWDENCRYPT在我们的网站中使用散列密码 - 但想将其更改为使用HASHBYTES.

是否可以使这种转换自动进行?我知道不可能解密这些字符串 - 但是我要考虑什么来进行这种转换?

提前感谢您的回答。

4

1 回答 1

1

我想不出直接在两者之间转换的方法,但如果你可以修改应用程序代码,一个解决方案可能是逐步淘汰使用PWDENCRYPT.

当用户尝试登录时,检查他们的散列密码是否使用PWDENCRYPT或存储HASHBYTES。如果散列与 一起存储HASHBYTES,验证输入的密码并登录用户。如果散列存储与PWDENCRYPT(并验证)然后提示用户在继续之前选择一个新密码。当用户选择了新密码后,使用 对其进行散列HASHBYTES,并清除PWDENCRYPT散列。

一段时间后,大多数密码哈希将被迁移到使用HASHBYTES,您可以禁用PWDENCRYPT. 如果尚未迁移的用户尝试登录,他们将需要通过“重置密码”过程(当然应该使用HASHBYTES)。

免责声明;如果您可以修改应用程序代码,我强烈建议您改用一些内置机制来散列和验证密码,例如微软自己的PasswordHasher

于 2021-01-04T14:53:05.783 回答