Problem beim MD5 Hash

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo Community,
    unzwar habe ich ein Problem: Wenn ich mich einloggen möchte kann ich jedes Passwort nutzen :( Ich habe das Passwort mit MD5 gehasht und es ist auf meiner MySQL Datenbank gespeichert. Hier der Code:


    stock mysql_ReturnPasswort(lName[])
    {
    new query[130], Get[130];
    mysql_real_escape_string(lName, lName);
    format(query, 128, "SELECT `pPasswort` FROM `accounts` WHERE `Name` = '%s'", lName);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    mysql_free_result();
    return Get;
    }


    if(strcmp(MD5_Hash(inputtext), mysql_ReturnPasswort(PlayerName(playerid)), true) == 0)
    {

  • Nachher dann so oder wie? Ich bin verwirrt.


    if(!strcmp(MD5_Hash(inputtext), mysql_ReturnPasswort(PlayerName(playerid)), true))
    {
    format(string,sizeof(string),"Willkommen zurück %s",PlayerName(playerid));
    GameTextForPlayer(playerid,string,3000, 6);
    StopAudioStreamForPlayer(playerid);
    LoadPlayer(playerid);
    }

  • Ob mit ! oder mit == 0 ist egal. Kommt auf selbe raus.


    Mich würde mal interessieren, ob das Passwort richtig aus der Datenbank ausgelesen wird.
    printe doch mal die Variable Get nachdem das Passwort darin gespeichert wurde und schau in der Log was da steht.

  • Ich würde es eher so machen:
    stock mysql_CheckLogin(lName[], Password[])
    {
    new query[130], Get[130];
    mysql_real_escape_string(lName, lName);
    mysql_real_escape_string(Password, Password);
    format(query, 128, "SELECT ID FROM accounts WHERE Name = '%s' AND pPassword = MD5('%s')", lName, Password);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    mysql_free_result();
    return strlen(Get) > 0 ? true : false;
    }

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.


  • if(!strcmp(MD5_Hash(inputtext), MD5_Hash(mysql_ReturnPasswort(PlayerName(playerid))), true))
    {
    format(string,sizeof(string),"Willkommen zurück %s",PlayerName(playerid));
    GameTextForPlayer(playerid,string,3000, 6);
    StopAudioStreamForPlayer(playerid);
    LoadPlayer(playerid);
    }