c# hash和sql server's hashbytel函数,实现相同
本文关键字:函数 hashbytel 实现 hash sql server | 更新日期: 2023-09-27 17:49:43
我想在c#级别和sql server 2012级别上都有。
我怎么知道SHA1实现是否会产生相同的结果?
在sql server中我正在做:
HASHBYTES('SHA1', @data)
我还没有写我的c#函数。
我只是担心如果它们不能产生相同的哈希值,我会在我的应用程序中得到一些不一致。
注意:我将用来创建哈希的列是datetime, nvarchar和int。我必须把这些转换成字符串,对吧?
使用下面的代码不会有任何问题:
public static byte[] GetHash(string inputString)
{
HashAlgorithm algorithm = SHA1.Create();
return algorithm.ComputeHash(Encoding.Unicode.GetBytes(inputString));
}
创建的哈希值与SQL Server:
上创建的哈希值相同。HASHBYTES('SHA1', CAST(@data AS NVARCHAR(100)))