我们一直PWDENCRYPT
在我们的网站中使用散列密码 - 但想将其更改为使用HASHBYTES
.
是否可以使这种转换自动进行?我知道不可能解密这些字符串 - 但是我要考虑什么来进行这种转换?
提前感谢您的回答。
我们一直PWDENCRYPT
在我们的网站中使用散列密码 - 但想将其更改为使用HASHBYTES
.
是否可以使这种转换自动进行?我知道不可能解密这些字符串 - 但是我要考虑什么来进行这种转换?
提前感谢您的回答。
我想不出直接在两者之间转换的方法,但如果你可以修改应用程序代码,一个解决方案可能是逐步淘汰使用PWDENCRYPT
.
当用户尝试登录时,检查他们的散列密码是否使用PWDENCRYPT
或存储HASHBYTES
。如果散列与 一起存储HASHBYTES
,验证输入的密码并登录用户。如果散列存储与PWDENCRYPT
(并验证)然后提示用户在继续之前选择一个新密码。当用户选择了新密码后,使用 对其进行散列HASHBYTES
,并清除PWDENCRYPT
散列。
一段时间后,大多数密码哈希将被迁移到使用HASHBYTES
,您可以禁用PWDENCRYPT
. 如果尚未迁移的用户尝试登录,他们将需要通过“重置密码”过程(当然应该使用HASHBYTES
)。
免责声明;如果您可以修改应用程序代码,我强烈建议您改用一些内置机制来散列和验证密码,例如微软自己的PasswordHasher。