我正在使用SQL语句手动将旧数据导入到MSSQL中。当我将原始文本密码哈希值插入到数据库中的MVC 5 passwordHASH字段时,会出现奇怪的字符。我该如何将哈希值插入到MVC 5身份验证表中?MVC 5表也使用nvarchar。
select HASHBYTES('SHA2_512', 'P@ssw0rd')as beforehash --looks good in result
0x6BFCC4026B5F162799A6DC8305C09DB9C1674AC616BD5C7422A45FBB6D0816AC163047C47A1F426F4F4C6B5B5042C671EABC4FDC7310FD5B183EEF59DC274604
declare @afterhash nvarchar(128)
set @afterhash=HASHBYTES('SHA2_512', 'P@ssw0rd')
select @afterhash as afterhash --funny character if put inside a variable or insert to data base
ﱫ˄彫✖ꚙ菜쀅릝柁왊봖瑜ꐢ뭟갖〖쑇ὺ潂䱏孫䉐燆볪�ၳ寽㸘姯⟜ц
CONVERT(NVARCHAR(130), HASHBYTES('SHA2_512', 'P@ssw0rd'), 1)
(将最后一个参数更改为2
以去掉0x
)。 - Alex K.