0

サード パーティに送信する XML の文字列のキー付きハッシュを作成する必要があります。これは私が使用しているコードですが、サードパーティから送られてきた例とは異なるハッシュを生成しています。私は、MSDN を見つけて何度も読み直せるすべてのチュートリアルを完了しました。私は何を間違っていますか?それとも、相手側の問題を疑うべきですか?

Public Shared Function HashString(ByVal StringToHash As String) As String
    Dim myEncoder As New System.Text.UTF32Encoding
    Dim Key() As Byte = myEncoder.GetBytes(My.Settings.PortalHASH)
    Dim XML() As Byte = myEncoder.GetBytes(StringToHash)
    Dim myHMACSHA256 As New System.Security.Cryptography.HMACSHA256(Key)
    Dim HashCode As Byte() = myHMACSHA256.ComputeHash(XML)
    Return Convert.ToBase64String(HashCode)
End Function

base-64 でエンコードする必要があるため、最後の行があります。

ありがとう

4

2 に答える 2

1

(私のコメントを読んでください)
My.Settings.PortalHASHがBase64でエンコードされたキーである場合、これを行う必要があります。

Dim Key() As Byte = Convert.FromBase64String(My.Settings.PortalHASH)
于 2009-05-08T12:46:38.127 に答える
0

VB の正しさについてコメントすることはできませんが、ネーミングの明白さから、正しいように見えると言えます。

したがって、ここには何が問題なのかを説明するのに十分な情報がありません。知っていることはすべて言ったはずです。したがって、あなたのためにこれを確認する人々はあなたの第三者になります. 彼らは何が間違っていたかを言うことができるでしょう。

PS: 相手がチャレンジとして送信した nonce がないのはおかしいですか?

于 2009-05-08T10:54:27.797 に答える