tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von sheel
  • 1 Beitrag von sheel
ERLEDIGT
JA
ANTWORTEN
10
ZUGRIFFE
476
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Shooter2k
    Shooter2k Shooter2k ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Ort
    Hamburg
    Beiträge
    381
    Hallo liebes Forum,
    kann mir jemand sagen was ich benötige, um md5 in c++ zu benutzen? Ist der md5Hash der selbe wie beim PHP MD5?

    Ich arbeite mit MS Visual Studio C++.

    Vielen Dank
    gruß
     
    Wer mit dem Strom schwimmt, erreicht die Quelle nie.

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Hi

    da ist eine Implementierung:
    people.csail.mit.edu/rivest/Md5.c

    Gruß
    Shooter2k bedankt sich. 
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    Avatar von Shooter2k
    Shooter2k Shooter2k ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Ort
    Hamburg
    Beiträge
    381
    Hi sheel,
    danke für deine Antwort. Habe mir die md5.c datei runtergeladen. Kannst du mir vielleicht noch kurz sagen was ich mit der Datei machen soll? Include ich sie einfach?

    Danke
     
    Wer mit dem Strom schwimmt, erreicht die Quelle nie.

  4. #4
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Nicht ganz.
    In der Datei sind eigentlich drei, Dateien, abgegrenzt durch die großen Kommentarblöcke.
    md5.h, md5.c und eine Datei mit Aufrufbeispielen für Strings, Dateien etc.

    Trenn das in 3 Dateien auf.
    Die erste includen, die zweite mitkompilieren, die dritte nur zum Anschauen.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  5. #5
    Avatar von Shooter2k
    Shooter2k Shooter2k ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Ort
    Hamburg
    Beiträge
    381
    Hmm ;-( ich kriege das irgendwie nicht hin. Ich arbeite mit MS Visual Studio C++ 2010. Es gibt eine md5lib.dll von der ständig die Rede ist. Ich frage mich nur wie ich die DLL einbinde. Leider habe ich nicht ganz verstanden wie ich die zweite Datei mitkompiliere bei MSVC C++.

    gruß
     
    Wer mit dem Strom schwimmt, erreicht die Quelle nie.

  6. #6
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Hab da nichts gesehen, was eine DLL nötig macht.
    Du fügst die h- und c-Datei einfach zum Projekt dazu
    und schreibst in den anderen C-Dateien ein #include<md5.h>.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  7. #7
    Avatar von Shooter2k
    Shooter2k Shooter2k ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Ort
    Hamburg
    Beiträge
    381
    Genau das habe ich gemacht. Nun erhalten ich folgenden Fehler:

    Fehler 1 error C1853: Die vorkompilierte Header-Datei "Debug\md5.pch" stammt von einer früheren Version des Compilers, oder der vorkompilierte Header stammt von C++, und Sie verwenden Ihn von C (oder umgekehrt)
     
    Wer mit dem Strom schwimmt, erreicht die Quelle nie.

  8. #8
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Schlt die vorkompilierten Header in den Projekteinstellungen aus.
    Machen sowieso oft Probleme.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  9. #9
    Avatar von Shooter2k
    Shooter2k Shooter2k ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Ort
    Hamburg
    Beiträge
    381
    Danke dir. Jetzt erhalte ich keine Fehler mehr. Leider sehe ich bei der Beispieldatei nicht ganz durch. Ich möchte einfach nur einen string in md5 konvertieren. Kannst du das ein wenig vereinfachen und mir ein Beispiel geben? Vielen Dank nochmals
     
    Wer mit dem Strom schwimmt, erreicht die Quelle nie.

  10. #10
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    void string2md5 (char *out, char *in)
    {
        MD5_CTX mdContext;
        int i;
        MD5Init(&mdContext);
        MD5Update(&mdContext, in, strlen(in));
        MD5Final(&mdContext);
        for (int i = 0; i < 16; i++)
        {
            out[(i<<1)] = (char)(mdContext.digest[i] / 16);
            out[(i<<1) + 1] = (char)(mdContext.digest[i] % 16);
            if(out[(i<<1)] < 10) out[(i<<1)] += '0';
            else out[(i<<1)] += 'a' - 10;
            if(out[(i<<1) + 1] < 10) out[(i<<1) + 1] += '0';
            else out[(i<<1) + 1] += 'a' - 10;
        }
        out[32] = '\0';
    }

    Aufruf:
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    
    char einagbe[1024];
    gets(eingabe);
    ...
    char md5[33];
    strin2md5(md5, eingabe);
     
    puts(md5);
    Ungetestet.

    Gruß
    Shooter2k bedankt sich. 
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  11. #11
    Avatar von Shooter2k
    Shooter2k Shooter2k ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Ort
    Hamburg
    Beiträge
    381
    VIelen Dank, funktioniert . Und schönes WE
     
    Wer mit dem Strom schwimmt, erreicht die Quelle nie.