1
我想比較用戶從ASP.NET站點登錄時的密碼到我在SQL Server中爲他生成的密碼。比較SHA2_512 C#和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);
那兩個哈希有很大的不同。
我在哪裏錯了?
對於密碼,SHA 512太快。使用salted bcrypt。 – SLaks
哈希結果不是有效的UTF8。使用Base64。 – SLaks