MySQL Passwort überprüfen

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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,


    ich habe mal wieder ein kleines Problem. Diesesmal möchte ich den Eingabetext eines Dialogs mit einem Eintrag in der MySQL Datenbank überprüfen. Der Eintrag in der Datenbank ist mir Whirlpool verschlüsselt.
    Ich poste einfach mal meine Codteile:
    Der Account wird so erstellt: Das Passwort wird auch verschlüsselt in die Datenbank eingetragen:
    stock CreateAccount(playerid, pass[])
    {
    new query[256],Name[MAX_PLAYER_NAME],hash[140];
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    mysql_real_escape_string(Name,Name);
    WP_Hash(hash, sizeof (hash), pass);
    mysql_real_escape_string(hash,hash);
    format(query, sizeof(query), "INSERT INTO Benutzer (Name,Passwort) VALUES ('%s','%s')", Name,hash);
    mysql_query(query);
    return true;
    }


    Nachdem ein Dialog angezeigt wird, um das Passwort einzugeben wird es so überprüft:
    {
    new SpielerName[MAX_PLAYER_NAME],Pass[256];
    GetPlayerName(playerid, SpielerName, MAX_PLAYER_NAME);
    Pass = mysql_GetString("Benutzer", "Passwort", "Name", SpielerName);
    new buf[145];
    WP_Hash(buf, sizeof(buf), inputtext);
    if(strcmp(Pass, buf, false) == 0)
    {
    SetPVarInt(playerid,"Eingeloggt",1);
    ShowPlayerDialog(playerid,DIALOG_ChooseSkin,DIALOG_STYLE_LIST,"Bitte wähle deinen Rang, welchen du auf Nova hast","1. Rang 0\r\nRang 1\r\nRang 2\r\nRang 3\r\nRang 4 Dick\r\nRang 4 Dünn\r\nRang 5\r\nRang 6\r\nRang 0-6 Weiblich","Auswählen", "Abbrechen");
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Das war das Falsche Passwort.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
    return 1;
    }
    }
    Allerdings, wird das Passwort immer als richtig gewertet, egal was ich eingebe.


    Ich hoffe ihr könnt mir bei meinem Problem helfen?


    Mit freundlichen Grüßen


    Ich

    Nova-eSports Supporter 2012 - 2016