2

私はC#レベルとSQL Server 2012レベルの両方を持ちたいです。

SHA1 実装で同じ結果が得られるかどうかはどうすればわかりますか?

私がやっているSQLサーバーで:

HASHBYTES('SHA1', @data)

私は自分の C# 関数をまだ書いていません。

それらが同じハッシュ値を生成しない場合、私は心配しています。アプリケーションでいくつかの不整合が発生します。

注: ハッシュの作成に使用する列は、datetime、nvarchar、および int です。これらを正しい文字列に変換する必要がありますか?

4

1 に答える 1

0

このコードを使用しても問題はありません。

    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)))
于 2015-05-19T20:03:51.320 に答える