Passwort verschlüsseln (PHP)



  • Anmerkung:

    PASSWORD() ist deprecated und sollte nicht mehr verwendet werden.
    -> http://www.mysql.com/doc/en/Miscellaneous_functions.html#IDX1344



  • Original erstellt von Sa(n)dman:
    **Anmerkung:

    PASSWORD() ist deprecated und sollte nicht mehr verwendet werden.
    -> [url=http://www.mysql.com/doc/en/Miscellaneous_functions.html#IDX1344**

    ]http://www.mysql.com/doc/en/Miscellaneous_functions.html#IDX1344[/QB][/QUOTE][/url]

    danke für den link und hinweis, hoffe, sie schmeißen PASSWORD nicht zu schnell raus, sonst muss ich umarbeiten 😞



  • ich versuchs ja mit crypt, aber das haut nicht hin:

    speichern:

    $query="insert forum.user(login, passwort, vorname, nachname, wohnort) values('".$login."', '".crypt($passwort)."','".$vorname."','".$nachname."','".$wohnort."')";
        mysql_query($query);
    

    wobei $passwort das zu speichernde PW ist.

    und beim vergleichen dann:

    $result=mysql_query("select login, freigeschaltet, passwort from user where login='$login' and passwort=".crypt($passwort));
    

    wobei hier das $passwort das neu eingegebene ist, dasjenige welches mit dem in der datenbank verglichen werden soll...

    Leider klappt das nich...



  • Vielleicht, weil bei der Abfrage die Hochkommas fehlen... weiß ich aber net genau...
    MfG

    Tobsen

    Ps: Schau dir doch mal das Passwort in der Datenbank an und lass dir zum Beispiel mal das eingegebene mit crypt verschlüsselte Passwort mit echo ausgeben und vergleiche die beiden strings.



  • Die Hochkommas ham gefehlt, aber es geht trotzdem nicht

    ich hab die Passwörter verglichen, das in der datenbank, mit dem das ich neu eingegeben habe und gecrypt()ed habe, sie waren verschieden, aber was ist mein fehler?



  • wenn ich jeweils das crypt() weglasse, dann funktioniert alles wunderbar. ich versteh das nich. kann das sein, dass das crypt nach zufall verschlüsselt, was aber eigentlich quatsch wäre...



  • SCHWUL:

    print crypt("hans");
    print "<br>";
    print crypt("hans");

    liefert:

    011Lg/.2g1.$zfetKcsg7jr239uPp/ytR1
    11hX..WA1.$hynnN0lCz4wiHdwABtUXZ1

    versteh ich nich, das verschlüsselt ja doch nach zufall, dann kann ma ja nix damit anfangen....................... 😡 😮 😮 😕 😕



  • hmmm.... seltsam... du verschlüsselst aber net zufällig 2 mal oder so... also ich verschlüssele mit md5() auch en einseitiges Verfahren und klappt hervorragend



  • nee, ich habs genauso probiert, wies da stand, naja, dann test ich ma md5() ...



  • JAWOLL, md5() klappt echt perfekt! aber ich frag mich, warum crypt() nicht funktioniert hat...



  • Hi

    Bekommt crypt wirklich nur einen Parameter ?
    Brauch dat nich n salt ?



  • @prolog: Ja aber das ist optional. Lässt man es weg wird zwischen den vorhandenen per Zufall entschieden. Das ist wohl der Grund warum man für zwei Aufrufe von crypt mit selben Daten untersch. Verschlüsselungen erhält. Irgendwie ein fragwürdiges Feature ...

    Vorhandene Salts:
    CRYPT_STD_DES - Standard DES-Schlüssel mit 2-Zeichen Salt
    CRYPT_EXT_DES - Erweiterter DES-Schlüssel mit einem 9-Zeichen Salt
    CRYPT_MD5 - MD5-Schlüssel mit 12-Zeichen Salt, beginnend mit 11
    CRYPT_BLOWFISH - Erweiterter DES-Schlüssel, 16-Zeichen Salt, beginnend mit 22

    Man sollte also mal das Beispiel von eben erneut mit Salt versuchen

    print crypt("hans", CRYPT_MD5);
    print "<br />";
    print crypt("hans", CRYPT_MD5);
    

    sollte dann identische Ergebnisse liefern.


Anmelden zum Antworten