Toon posts:

[VB.NET] Msn md5 login probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig om via vb.net in te loggen op het msn netwerk.

Het gaat allemaal prima totdat ik een md5 password moet terug sturen.
Ik krijg van de server een hashcode.
Hier plak ik mijn wachtwoord aan vast en vervolgens ga ik dat met de ingebouwde encryptie van .NET encrypten.
Van de uitkomst maak ik een lowercase 32 byte hexadecimale string van, zoals msn dat wil.
Ik krijg echter altijd de error code 911 3 terug

generateHash code
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    Private Function GenerateHash(ByVal SourceText As String) As String
        Dim e As Integer
        Dim s As String = ""
        Dim t As String = ""
        Dim Ue As New UnicodeEncoding()
        Dim ByteSourceText() As Byte = Ue.GetBytes(SourceText)
        Dim Md5 As New MD5CryptoServiceProvider()
        Dim ByteHash() As Byte = Md5.ComputeHash(ByteSourceText)

        For Each e In ByteHash
            s = Hex(e)
            If (s.Length = 1) Then
                t += "0"
                t += s.ToLower
            Else
                t += s.ToLower
            End If
        Next
        Return t.ToLower
    End Function


voorbeeld input: 989048851.1851137130mijnwachtwoord

Op aanvraag kan ik de complete source mailen. Misschien dat het dan duidelijker is.

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

weet je zeker dat je de md5 daarna naar hex om moet zetten?

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 15-08 20:11
Volgens mij krijg je een hex waarde terug van de server. Deze waarde is je w8woord samen met je gebruikersnaam in md5, omgezet naar lowercase hex. Check deze site anders eens: http://www.hypothetic.org/docs/msn/connecting.php

Ow ja, jouw input klopt zo-ie-zo niet. Je verstuurt ten eerste plain-text w8woorden en ten tweede voeg je tekst toe aan een decimale waarde.

[ Voor 25% gewijzigd door Postman op 06-03-2003 23:43 ]


Verwijderd

Hier een C# voorbeeldje van hoe het in ieder geval wel werkt :)


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private string md5crypting(string data1, string data2)
    {
      MD5 md5 = new MD5CryptoServiceProvider();
      byte[] bytewise = System.Text.Encoding.ASCII.GetBytes(data1 + data2);
      byte[] hash = md5.ComputeHash(bytewise);
      string sCryptedPass = "";

      foreach(byte b in hash)
      {
        sCryptedPass += b.ToString("x2");
      }

      return sCryptedPass;
    }


Ik weet zeker dat deze functie werkt want ik kan er wel mee inloggen op de msn server.

suc6 ermee

Martijn

p.s. Ik moest ook maar weer eens verder gaan met m'n msn projectje...

[ Voor 4% gewijzigd door Verwijderd op 07-03-2003 01:12 ]