md5 hashen



  • Nimm sprintf, dann hast Du das direkt wie Du es brauchst in dem bei sprintf angegebenen Buffer liegen.

    ---
    If you are forced to reinvent the wheel at least try to invent a better one!



  • Ok... sprintf kenn ich noch überhaupt nicht...
    könntest du mir das freundlicherweise näher erklären?

    danke.

    mfg,
    Sol

    Hmm...
    Also ich habs schon soweit, dass es mir beides identisch ausgibt, aber er hat es nicht identisch in den arrays drinstehn.
    Ich fummel da immer noch...
    gibts nicht sowas wie ne implode oder explode funktion wie bei PHP?
    das würd mir n schritt weiterhelfen.

    mfg,
    Sol



  • So... im moment habe ich:

    Ausgabe von digest per %x ist der Ausgabe von dem Eingabestring mit %c gleich.

    ich müsste das aber ja so haben, dass beide dieselbe Ausgabe mit %c oder %x haben,

    So ist es im Moment:

    Array 1(Hexadezimal Formatiert):

    a[0] = 8f;
    a[1] = a1;
    a[2] = 4c;
    a[3] = dd;
    a[4] = 75;
    a[5] = 4f;
    a[6] = 91;
    a[7] = cc;
    a[8] = 65;
    a[9] = 54;
    a[10] = c9;
    a[11] = e7;
    a[12] = 19;
    a[13] = 29;
    a[14] = ce;
    a[15] = e7;
    

    Array 2(Zeichenformatiert (ASCII)):

    a[0] = 8; a[1] = f;
    a[2] = a; a[3] = 1;
    a[4] = 4; a[5] = c;
    a[6] = d; a[7] = d;
    a[8] = 7; a[9] = 5;
    a[10] = 4; a[11] = f;
    a[12] = 9; a[13] = 1;
    a[14] = c; a[15] = c;
    a[16] = 6; a[17] = 5;
    a[18] = 5; a[19] = 4;
    a[20] = c; a[21] = 9;
    a[22] = e; a[23] = 7;
    a[24] = 1; a[25] = 9;
    a[26] = 2; a[27] = 9;
    a[28] = c; a[29] = e;
    a[30] = e; a[31] = 7;
    

    Vll seht ihr schon das Problem.
    Sie haben Zwar in allem den Gleichen inhalt, aber im prinzip doch nicht, weil Array 2 ist ja in ASCII und hat 32 Einzelzeichen und Array 1 hat 15 Einzelzeichen, die in HEX formatiert sind...
    wie jetzt also diese Vergleichen?



  • Lösung doch gefunden:

    for (i = 0; i < 16; i++)
      {
    
        sprintf(hex, "%x", digest[i]);
    
        for (j = 0; j <2 ; j++)
    	{
    		var = i*2+j+1;
    	printf ("%c//%c\n",hex[j],test[var]);
    	if (hex[j] != test[var])
    	ishash = 'n';
    	}
      }
    if (ishash == n)
    printf("F*CK!!");
    else
    printf("YEEHAAA");
    

    Also einfach wars net 🙄

    Nochmal Thx für die Hilfe...

    mfg,
    Sol


Anmelden zum Antworten