Hilfe mit MD5_Hasher

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,


    Ich benötige Hilfe mit dem MB5_Hasher das Problem ist das Passwort komm verschlüssel in der Datenbank an
    aber wenn man einloggt und dann reloggt kommt das, dass Passwort falsch wäre. Ich suche jemanden der villeicht
    mit Teamwiver drüber schauen könnte oder mir ein Tipp geben könnte was ich machen kann das es funktioniert.
    Von Grundauf sind keine Warnings oder sonstiges entstanden. Außerdem kommt die Verschlüsselung nur zu hälfe in
    der Datenbank an , habe auch schon den Login String hoch gesetzt hat aber nichts gebracht. Ich bitte um hilfe.



    - JasoN.DINO

    Einmal editiert, zuletzt von JasoN.DINO ()

  • Verschlüsselst du das Passwort beim Einloggen auch brav erneut via MD5, bevor du es mit dem aus der Datenbank vergleichst? ;)


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'


  • else if(dialogid == Register)
    {
    if(response == 0)
    {
    SendClientMessage(playerid, COLOR_ERRORTEXT, " Du hast den Vorgang abgebrochen und wurdest automatisch gekickt.");
    TogglePlayerControllable(playerid, 0);
    Kick(playerid);
    }
    if(response == 1)
    {
    if(!strlen(inputtext) || strlen(inputtext) > 15 || strlen(inputtext) < 6)
    {
    ShowPlayerDialog(playerid, Register, DIALOG_STYLE_PASSWORD, "Registrieren", "Dein Passwort muss mindestens 6 und maximal 32 Bustaben haben\nUnd darf nur auch Bustaben von A-Z und Zahlen von 0-9 Bestehen.", "Registrieren", "Abbruch");
    return 1;
    }
    new ForbiddenCharactersExist = 0;
    for(new ac = 0; ac < sizeof(ForbiddenCharacters); ac++)
    {
    if(strfind(inputtext, ForbiddenCharacters[ac], true) != -1)
    {
    ForbiddenCharactersExist = 1;
    break;
    }
    }
    if(strlen(inputtext) > 32 || ForbiddenCharactersExist == 1)
    {
    ShowPlayerDialog(playerid, Register, DIALOG_STYLE_PASSWORD, "Registrieren", "Dein Passwort muss mindestens 6 und maximal 32 Bustaben haben\nUnd darf nur auch Bustaben von A-Z und Zahlen von 0-9 Bestehen.", "Registrieren", "Abbruch");
    return SendClientMessage(playerid, COLOR_ERRORTEXT, " Dein Passwort darf maximal 10 Zeichen haben und darf nur aus A-Z bzw. a-z und 1-9 inkl. 0 bestehen !");
    }
    new tmppass[64];
    strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
    //Encrypt(tmppass);
    OnPlayerRegister(playerid, MD5_Hash(tmppass));
    //SendClientMessage(playerid, COLOR_YELLOW, "Du hast dich erfolgreich registriert, Bitte logge dich ein '/login [Passwort]'!");
    ShowPlayerDialog(playerid, Login, DIALOG_STYLE_PASSWORD, "Login", "Bitte logge dich ein indem du dein Passwort unten eingibst.", "Login", "Abbruch");
    }
    return 1;
    }
    else if(dialogid == Login)
    {
    if(response == 0)
    {
    SendClientMessage(playerid, COLOR_ERRORTEXT, " Du hast den Vorgang abgebrochen und wurdest automatisch gekickt.");
    TogglePlayerControllable(playerid, 0);
    Kick(playerid);
    }
    if(response == 1)
    {
    if(strlen(inputtext) == 0 || strlen(inputtext) < 7 || strlen(inputtext) > 32) // Wenn kein Passwort angegebene wurde
    {
    ShowPlayerDialog(playerid, Login, DIALOG_STYLE_PASSWORD, "Login", "Bitte logge dich ein indem du dein Passwort unten eingibst.","Login","Abbruch");
    return 1;
    }
    else
    {
    new NotJoin = 0;
    new StepID = -1;
    new sendername[MAX_PLAYER_NAME];
    for(new i = 0; i < sizeof(OffPickup); i++)
    {
    if(OffPickup[i][OffErstellt] == 1)
    {
    if(OffPickup[i][OffZeit] > 0)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(strcmp(sendername,OffPickup[i][OfflineName], true) == 0)
    {
    NotJoin = 1;
    StepID = i;
    break;
    }
    }
    }
    }
    if(CheckPasswort(playerid, MD5_Hash(inputtext)) == 1) // Wir holen uns das Passwort aus der MySQL Datenbank und überprüfen es mit dem angegebenen passwort.
    {
    if(NotJoin == 1)
    {
    format(string, sizeof(string), "Du musst warten bis dein Logout Pickup weg ist. {0087FF}(%d Sekunden)", OffPickup[StepID][OffZeit]);
    ShowPlayerDialog(playerid, Login, DIALOG_STYLE_PASSWORD, "Login", string,"Login","Abbruch");
    return 1;
    }
    strmid(PlayerInfo[playerid][pKey], MD5_Hash(inputtext), 0, strlen(inputtext), 255);
    OnPlayerLogin(playerid); //Der Spieler wird "geladen", speich es werden seine Daten aus der Datenbank geholt und in variablen gespeichert um diese im Skript zu verwenden.
    return 1;
    }
    else
    {
    //Wenn das Passwort falsch war, lassen wir erneut das Login fenster erscheinen damit der Spieler das Richtige Passwort eingibt.
    ShowPlayerDialog(playerid, Login, DIALOG_STYLE_PASSWORD, "Login", "Das eingegebene Passwort ist Falsch, bitte versuche es erneut.","Login","Abbruch");
    return 1;
    }
    }
    }
    return 1;
    }


    Im Login und Register Dialog sollte alles sauber sein :)
    Die Einreihung ist ein wenig doof Sorry