私はストアドプロシージャからEFに認証を移動しようとしています。 SQL自体が2つの結果を返しています。どのように私はそれらを検証する必要がありますか?CONVERT(NVARCHAR(100)、HASHBYTES(N'SHA1 '、@ PasswordWithSalt)、2)はC#で同等です
値がテーブルに格納された値と照合する
ECC2065575DCBF977CD923996C598C3DC481404E
SQL構文:
Declare @Password AS NVARCHAR(256) = 'Quest_2016'
DECLARE @PasswordSalt AS NVARCHAR(5) = 'LCY''n'
DECLARE @PasswordWithSalt AS NVARCHAR(261) = @Password + @PasswordSalt
print @PasswordWithSalt
結果:1 Quest_2016LCY'n
print HASHBYTES(N'SHA1', @PasswordWithSalt)
結果2:0xECC2065575DCBF977CD923996C598C3DC481404E-----
print HASHBYTES(N'SHA1', 'Quest_2016LCY''n')
結果3:0x5E85AB2ED11CDB696BC0544131D7C8571F4F8FA8-----
これら2つのクエリに問題が文字列の値が同じであるが、バイトがあるということです、これはC#で