サポートが必要なプログラムを継承しましたが、パスワードは SHA1 ハッシュを使用して MSSQL データベースに保存されていると言われました。データベースからデータを読み込もうとすると、「System.Byte[]」しか得られません。
プログラムはユーザーにパスワードを要求し、次を使用して SHA1 ハッシュを作成できます。
Public Function GetSHA1HashData(data As String) As String
Dim cBase64 As String
Dim objSHA1 As New SHA1CryptoServiceProvider()
Dim abBytesToHash() As Byte
Dim cHash As String
cBase64 = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(data))
abBytesToHash = System.Text.Encoding.ASCII.GetBytes(cBase64)
cHash = BitConverter.ToString(objSHA1.ComputeHash(abBytesToHash))
cHash = Replace(cHash, "-", "")
Return cHash
End Function
だから私の質問は、新しく作成されたハッシュとデータベースから引き出した値を比較して、それらが同じかどうかを確認するにはどうすればよいですか? 「System.Byte[]」を読み取れるようにするには、どうすればよいですか?
ありがとう。