Wie verschlüssle ich das passwort

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


    undzwar habe ich ein problem ich möchte das ucppasswort in sha1 verschlüsselt haben aber ich weiß wie
    hoffentlich könnt ihr mir da weiter helfen
    @Jeffry
    @maddin @definitivnichtmaddin
    if(dialogid == DIALOG_CHANGEUCPPASS) { if(response) { if(PlayerInfo[playerid][pAdjustable] == 1) { if(strlen(inputtext) > 3) { new string22[128]; format(string22, 128, "Du hast dein UCP-Passwort zu {FF1E00} %s {FFFFFF} geändert", inputtext); SendClientMessage(playerid, 0xFFFFFFFF, string22); format(PlayerInfo[playerid][pUCPPassword],16,"%s",inputtext); format(query,sizeof(query),"SELECT * FROM `accounts` WHERE `Name` = '%s'",PlayerInfo[playerid][pIngameName]); mysql_query(query); mysql_store_result(); mysql_SetString("accounts", "UCPPassword", PlayerInfo[playerid][pUCPPassword], "Name", PlayerInfo[playerid][pIngameName]); mysql_free_result(); return 1; } else SendClientMessage(playerid, 0xFFFFFFFF, "Dein UCP-Passwort muss mindestens 4 Zeichen lang sein."); } else { SendClientMessage(playerid,COLOR_RED,"Du kannst dein UCP-Passwort nicht ändern, da du nicht eingeloggt bist."); } } }

  • Einfach so:



    C
    new MyHash[64 + 1]; //+1 für NULL Byte
    SHA256_PassHash(PlayerInfo[playerid][pUCPPassword], "IchBinEinSichererSalt", MyHash, sizeof MyHash); //Natürlich Salt anpassen xD
    mysql_SetString("accounts", "UCPPassword", MyHash, "Name", PlayerInfo[playerid][pIngameName]);

    Und musst natürlich die Abfrage ändern...ob er das richtige Passwort eingegeben hat..da musst du dann seinen inputtext auch hashen :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Einfach so:



    C
    new MyHash[64 + 1]; //+1 für NULL Byte
    SHA256_PassHash(PlayerInfo[playerid][pUCPPassword], "IchBinEinSichererSalt", MyHash, sizeof MyHash); //Natürlich Salt anpassen xD
    mysql_SetString("accounts", "UCPPassword", MyHash, "Name", PlayerInfo[playerid][pIngameName]);

    Und musst natürlich die Abfrage ändern...ob er das richtige Passwort eingegeben hat..da musst du dann seinen inputtext auch hashen :)

    und wie kann ich das in SHA1
    umwandeln weil mein ucp erkennt SHA256 nicht



    if(PlayerInfo[playerid][pAdjustable] == 1)
    {
    if(strlen(inputtext) > 3)
    {
    new string22[128];
    new MyHash[64 + 1]; //+1 für NULL Byte
    format(string22, 128, "Du hast dein UCP-Passwort zu {FF1E00} %s {FFFFFF} geändert", inputtext);
    SendClientMessage(playerid, 0xFFFFFFFF, string22);
    // format(PlayerInfo[playerid][pUCPPassword],16,"%s",inputtext);
    SHA256_PassHash(PlayerInfo[playerid][pUCPPassword], "%s", MyHash, sizeof MyHash); //Natürlich Salt anpassen xD

    format(query,sizeof(query),"SELECT * FROM `accounts` WHERE `Name` = '%s'",PlayerInfo[playerid][pIngameName]);

    mysql_query(query);
    mysql_store_result();

    //mysql_SetString("accounts", "UCPPassword", PlayerInfo[playerid][pUCPPassword], "Name", PlayerInfo[playerid][pIngameName]);
    mysql_SetString("accounts", "UCPPassword", MyHash, "Name", PlayerInfo[playerid][pIngameName]);
    mysql_SetString();
    mysql_free_result();
    return 1;
    }
    else SendClientMessage(playerid, 0xFFFFFFFF, "Dein UCP-Passwort muss mindestens 4 Zeichen lang sein.");
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du kannst dein UCP-Passwort nicht ändern, da du nicht eingeloggt bist.");
    }
    }
    }

  • Pass dein UCP doch lieber an? :huh:


    Irgendwo müsste da ein hash('sha1', $pw) sein...das ändereste auf hash('sha256', $pw) und fertig ^^

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Pass dein UCP doch lieber an? :huh:


    Irgendwo müsste da ein hash('sha1', $pw) sein...das ändereste auf hash('sha256', $pw) und fertig ^^


    $req = mysql_query('select UCPPassword,id from accounts where Name="'.$username.'"');
    $dn = mysql_fetch_array($req);
    if($dn['UCPPassword']==Sha256($password) and mysql_num_rows($req)>0)
    {
    $form = false;
    $_SESSION['username'] = $_POST['username'];
    $_SESSION['userid'] = $dn['id'];
    if(isset($_POST['memorize']) and $_POST['memorize']=='yes')
    {
    $one_year = time()+(60*60*24*365);
    setcookie('username', $_POST['username'], $one_year);
    setcookie('password', Sha256($password), $one_year);
    }
    ?>

  • Wie du siehst..wird da schon SHA-256 genutzt :rolleyes:


    Jetzt musste dir nur noch den Salt aus dem PHP Skript suchen und in Pawn verwenden :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • wie ich den code auf md5 oder sha1 machen kann

    Was? :huh:


    Dein Ganzer Code ist doch schon auf SHA256...


    Nur entweder nutzt du den Salt falsch..oder PHP schreibt alles Groß und Pawn alles klein..oder andersrum ^^


    printe dir doch einfach die jeweiligen dinge...


    mit echo $dn['UCPPassword']."|".Sha256($password); kannste das ausgeben und dann schau mal was da steht ^^

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • ..musst das auch schon an die richtige stelle setzen..und schauen, dass die seite nicht neu geladen wird o.ä. xD


    Oder du machst sowas:


    echo "<script>alert(' ".$dn['UCPPassword']."|".Sha256($password)." ');</script>";


    Dann polppt ein fester auf ^^

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

    • Offizieller Beitrag

    Ich würde dringendst zu Kalibers Variante raten, MD5 ist nicht sicher genug


    „Nicht das, was du nicht weißt, bringt dich in Schwierigkeiten, sondern dass, was du sicher zu wissen glaubst, obwohl es gar nicht wahr ist.“
    Mark Twain

    ---
    ICH BIN NUR HIER UM LEUTE ANZUSCHREIEN

  • Dein Ganzer Code ist doch schon auf SHA256...

    Ich glaube das hat er nur eben angepasst, denn die Funktion "Sha256" (also der Funktionsname) existiert in PHP nicht. Er muss hash('sha256', 'string') verwenden.


    @TimeLine verstehe nicht wo Dein Problem ist. Es wurde mehrmals die richtige Loesung vorgeschlagen die auch zu 100 % funktioniert... Und ich wuerde Dir dringend raten die ganzen mysql_GetInt, _SetInt etc. Sachen zu entfernen und nur einen Query abzusenden sonst sprengst Du Deine Datenbank mit Anfragen.

  • Ich glaube das hat er nur eben angepasst, denn die Funktion "Sha256" (also der Funktionsname) existiert in PHP nicht. Er muss hash('sha256', 'string') verwenden.
    @TimeLine verstehe nicht wo Dein Problem ist. Es wurde mehrmals die richtige Loesung vorgeschlagen die auch zu 100 % funktioniert... Und ich wuerde Dir dringend raten die ganzen mysql_GetInt, _SetInt etc. Sachen zu entfernen und nur einen Query abzusenden sonst sprengst Du Deine Datenbank mit Anfragen.

    ch glaube das hat er nur eben angepasst, denn die Funktion "Sha256" (also der Funktionsname) existiert in PHP nicht. Er muss hash('sha256', 'string') verwenden.
    wo soll ich den das hash('sha256', 'string') einfügen ?

  • Wahrscheinlich einfach mit dem jetzigen Code ersetzen.


    C
    if($dn['UCPPassword'] == hash('sha256',$password) and mysql_num_rows($req)>0)

    Teste das mal.