我想将用户从 ASP.NET 站点登录时的密码与我在 SQL Server 中为他生成的密码进行比较。
因此,我在 SQL 服务器中生成密码字段,如下所示:
insert into users
select 'username', HASHBYTES('SHA2_512', CONVERT(nvarchar(4000),'password'))
和 C# 中的代码:
string text = Password;
SHA512 alg = SHA512.Create();
byte[] result = alg.ComputeHash(Encoding.UTF8.GetBytes(text));
string hash = Encoding.UTF8.GetString(result);
这两个哈希值非常不同。
我哪里错了?