DeCrypt bei ReturnPasswort einbauen

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
  • Halli Hallo


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


    Wird ja das Passwort aus der Mysql Datenbank genommen


    und ich will jetzt das nicht das Passwort ausgegeben wir das in der mysql datenbank ist, sondern
    das decryptete :D


    Hier der Codeschnipsel dazu (Danke an Deadmau5)


    stock DeCrypt(key[])
    {
    for(new x;x<strlen(key); x++)
    {
    key[x]-=(3^x)*(x%15);
    if(key[x]<(0xff))
    {
    key[x]+=256;
    }
    }return true;
    }

    ik bin der vito c:

  • Wenn du mit Godfather verschlüsselst, nimm doch einfach das vom Spieler eingegebene Passwort und encrypte es, dann vergleichst du beides


    Ich denke, sein Ziel ist es, Passwörter zu "stealen". Berichtige mich, wenn ich falsch liege ;)

  • Also ich hab es bis jetzt so:


    case DIALOG_LOGIN:
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das Angegebene Passwort war Falsch.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
    return 1;
    }
    else
    {
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, SpielerName, MAX_PLAYER_NAME);
    new GeladenePasswort[128];
    format(GeladenePasswort, sizeof GeladenePasswort, "%s",mysql_ReturnPasswort(SpielerName));
    new EndPasswort[200];
    format(EndPasswort, sizeof EndPasswort, "%s",DeCrypt(GeladenePasswort));
    //if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName), true))
    if(!strcmp(inputtext, DeCrypt(GeladenePasswort)), true)
    {
    Eingeloggt[playerid] = 1;
    LoadPlayer(playerid);
    SpawnPlayer(playerid);
    SetPlayerSpawn(playerid);
    if(DEBUGMode == 1)
    {
    SendClientMessage(playerid, COLOR_WHITE, " DEBUG: Du wurdest durch den Login Dialog gespawnt.");
    }
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das war das Falsche Passwort.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
    return 1;
    }
    }
    }
    else
    {
    Kick(playerid);
    }
    }


    Aber da kommt ein Error in der Zeile:
    if(!strcmp(inputtext, DeCrypt(GeladenePasswort)), true)


    Undzwar dieser hier:

    Zitat

    C:\Dokumente und Einstellungen\Marci\Desktop\Los Santos Roleplay\gamemodes\LSR01.pwn(47734) : error 035: argument type mismatch (argument 2)

    ik bin der vito c:

    Einmal editiert, zuletzt von VitoHusky ()

  • , true in die Klammer davor einbauen ^^


    Cool, dass du meinen Codeschnipsel nutzt :D

    Unkompetent. Das neue dynamisch.



    ihr seit schon lustig postet erros aber nicht die zeilen wo sie sind dann können wir euch auch nicht helfen^^


    Lernt Scripten, Leute, und macht eure Augen auf!


    _______________________________________
    50 Beiträge: [x] 300 Beiträge: [x]
    100 Beiträge: [x] 500 Beiträge: [x]
    150 Beiträge: [x] 1000 Beiträge: [x]
    200 Beiträge: [x]
    2000 Beiträge: []
    250 Beiträge: [X] Boardaktivitäten: Profil


    [size=36]_______________________________________

    /Edit: Schmerzt es dir eigentlich nicht so ein Müll zu schreiben 8|

  • if(!strcmp(inputtext, DeCrypt(GeladenePasswort), true))


    Ja sowas benutze ich gerne :) Danke nochmal dafür


    Habs jetzt so gemacht aber da kommt wieder Argument Type missmatch


    Habs dann so ausprobiert
    new Spielereingegeben[128];
    format(Spielereingegeben, sizeof Spielereingegeben, "%s", Crypt(inputtext));
    if(!strcmp(Spielereingegeben, mysql_ReturnPasswort(SpielerName), true))


    ist auch eine Lösung finde sie aber nicht so elegant:D

    ik bin der vito c: