MD5 VB vs PHP bei Umlauten - ich bekomme es nicht hin...

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von John422.

    MD5 VB vs PHP bei Umlauten - ich bekomme es nicht hin...

    Neu

    Hi,

    nachdem ich wirklich eine Weile probiert und die Lösung nicht gefunden habe, hier das Problem.

    In einem PHP Skript liefert

    PHP-Quellcode

    1. $in = 'Ä';
    2. $out = strtoupper(MD5($in));
    3. echo $out;
    4. = B66491B03046F0846FE4206BC6A0F3C0


    Mein VB Code:

    VB.NET-Quellcode

    1. Friend Function MD5Str(ByVal strString As String) As String
    2. Dim MD5 As New MD5CryptoServiceProvider
    3. Dim Data As Byte()
    4. Dim Result As Byte()
    5. Dim Res As String = ""
    6. Dim Tmp As String = ""
    7. Data = Encoding.ASCII.GetBytes(strString)
    8. Result = MD5.ComputeHash(Data)
    9. For i As Integer = 0 To Result.Length - 1
    10. Tmp = Hex(Result(i))
    11. If Len(Tmp) = 1 Then Tmp = "0" & Tmp
    12. Res += Tmp
    13. Next
    14. Return Res
    15. End Function
    16. = D1457B72C3FB323A2671125AEF3EAB5D


    Klaro, Encoding Problem. Ich hab hin und her wandeln versucht aber komme nicht auf die Lösung.

    Diese Online Encoder liefert das gleiche ergebnis wie in PHP onlinemd5.com/

    Vielen Dank für eine Schubs in die Richtige Richtung..

    John

    Neu

    John422 schrieb:

    Encoding.UTF8.GetBytes(strString) nicht...


    Bei mir schon, aber es muss auch auf beiden Seiten das gleiche Encoding genommen werden.
    Lass dir mnal das Encoding mit PHP ausgeben:
    echo mb_http_output();
    Die Natur ist bekanntermaßen knallhart, sie sortiert aus was sich nicht bewährt hat.(Harald Lesch, 2021)

    Demnach müssten wir bald dran sein...

    Neu

    Dann wird das passen

    Quellcode

    1. Data = Encoding.UTF8.GetBytes(strString)
    , bei mit ist auf beiden Seiten UTF-8, passt alles. Wenn's bei dir nicht passt, hast du irgendwo was falsch oder unterschiedliche Inputs.
    Die Natur ist bekanntermaßen knallhart, sie sortiert aus was sich nicht bewährt hat.(Harald Lesch, 2021)

    Demnach müssten wir bald dran sein...