Hallo zusammen,
die Absicherung der REST-API die ich verwende funktioniert... beinahe...
Letztes Problem ist zurzeit noch die Übertragung eines Hash-Werts per POST.
Ich habe festgestellt, dass mein Hash-Wert (nehmen wir mal folgenden Wert an: Px6Sx2+VUjyVti/sxNbS6/eupkvmISiG/6J0u/YzG6o), wenn ich ihn mit POST verschicke, wohl nicht korrekt ankommt (=Gegenprüfung misslingt).
Schicke ich hingegen als Wert Px6Sx2VUjyVtisxNbS6eupkvmISiG6J0uYzG6o (also ohne jegliche Sonderzeichen), dann klappt die Übertragung (und die Gegenprüfung)
So wird der Hash verschickt (der Hash steht in der Variable hash):
Was ist falsch? Was muss ich anders machen?
Hab schon Encode.Unicode probiert oder UTF8. Aber was ich ja eigentlich bräuchte wären HTML-Entities.
Oder aber den Hash ohne "/" generieren. Kann ich das ggf. verbieten beim erstellen? Ich nutze diese Funktion:
Danke und Gruss,
KlyX
die Absicherung der REST-API die ich verwende funktioniert... beinahe...
Letztes Problem ist zurzeit noch die Übertragung eines Hash-Werts per POST.
Ich habe festgestellt, dass mein Hash-Wert (nehmen wir mal folgenden Wert an: Px6Sx2+VUjyVti/sxNbS6/eupkvmISiG/6J0u/YzG6o), wenn ich ihn mit POST verschicke, wohl nicht korrekt ankommt (=Gegenprüfung misslingt).
Schicke ich hingegen als Wert Px6Sx2VUjyVtisxNbS6eupkvmISiG6J0uYzG6o (also ohne jegliche Sonderzeichen), dann klappt die Übertragung (und die Gegenprüfung)
So wird der Hash verschickt (der Hash steht in der Variable hash):
VB.NET-Quellcode
- Dim n As WebClient = New WebClientWithCookies()
- n.Headers.Add("Content-Type", "application/x-www-form-urlencoded")
- Dim bytArguments As Byte() = System.Text.Encoding.ASCII.GetBytes("username=" & api_user.Text & "&password=" & hash)
- Dim bytRetData As Byte() = n.UploadData("https://hierstehtdieurl", "POST", bytArguments)
Was ist falsch? Was muss ich anders machen?
Hab schon Encode.Unicode probiert oder UTF8. Aber was ich ja eigentlich bräuchte wären HTML-Entities.
Oder aber den Hash ohne "/" generieren. Kann ich das ggf. verbieten beim erstellen? Ich nutze diese Funktion:
VB.NET-Quellcode
- Public Function HashPassword(ByVal Password As String, ByVal Salt As String) As String
- Dim pwd As String = Password & Salt
- Dim hasher As New Security.Cryptography.SHA256Managed()
- Dim pwdb As Byte() = System.Text.Encoding.UTF8.GetBytes(pwd)
- Dim pwdh As Byte() = hasher.ComputeHash(pwdb)
- Return Convert.ToBase64String(pwdh)
- End Function
Danke und Gruss,
KlyX
Chris' Weblog - Mein Blog rund um Vieles