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。我必须把这些转换成字符串,对吧?

c# hash和sql server's hashbytel函数,实现相同

使用下面的代码不会有任何问题:

    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)))