AndreR: Crypt richtig benutzen

Wie benutze ich die Funktion crypt() richtig? Ich habe als Salt einen geMD5ten String verwendet, wenn ich damit allerdings das eingegebene Passwort verschlüsseln möchte, kommt Mist raus bzw. die erste paar Zeichen der Rückgabe sind immer exakt die selben. Wenn ich die beiden Dollars mit der Eins weglasse, wird die Rückgabe auf geschätzt acht Zeichen gekürzt.

Bsp:
return crypt($passwort, '$1$'.md5($key));

  1. Hallo

    Wie benutze ich die Funktion crypt() richtig?

    so wie es im Handbuch steht.

    Ich habe als Salt einen geMD5ten String verwendet, wenn ich damit allerdings das eingegebene Passwort verschlüsseln möchte, kommt Mist raus bzw. die erste paar Zeichen der Rückgabe sind immer exakt die selben. Wenn ich die beiden Dollars mit der Eins weglasse, wird die Rückgabe auf geschätzt acht Zeichen gekürzt.

    steht doch auch im Handbuch :-)

    Bsp:
    return crypt($passwort, '$1$'.md5($key));

    Lies bitte den Text zu salt im Abschnitt "Parameter Liste" [sic!]

    Freundliche Grüße

    Vinzenz

    1. Lies bitte den Text zu salt im Abschnitt "Parameter Liste" [sic!]

      Habe ich schon mehrfach, ich komme aber nicht drauf.

      1. Hallo

        Lies bitte den Text zu salt im Abschnitt "Parameter Liste" [sic!]
        Habe ich schon mehrfach, ich komme aber nicht drauf.

        ... und es steht immer noch der gleiche Text da?
        Das gleicht doch sehr Deinem Problem:

        bzw. die erste paar Zeichen der Rückgabe sind immer exakt die selben.

        Lies den Text erneut. Schau' Dir die Beispiele an, welche Auswirkungen hat das
        Salt auf das Resultat. Lies den Text zu salt erneut.

        Freundliche Grüße

        Vinzenz

  2. 你好 AndreR,

    Wie benutze ich die Funktion crypt() richtig? Ich habe als Salt einen geMD5ten String verwendet, wenn ich damit allerdings das eingegebene Passwort verschlüsseln möchte, kommt Mist raus bzw. die erste paar Zeichen der Rückgabe sind immer exakt die selben. Wenn ich die beiden Dollars mit der Eins weglasse, wird die Rückgabe auf geschätzt acht Zeichen gekürzt.

    crypt() ist eine Hashing-Funktion, die, genau wie md5, nicht mehr genutzt werden sollte. Nutze lieber einen SHA-Algorithmus wie SHA256:

      
    $phrase = "Some random string";  
    $hash = base64_encode(bin2hex(mhash(MHASH_SHA256,$phrase)));  
    
    

    Unter PHP5 etwas einfacher:

    $hash = hash("sha256",$pass);

    再见,
     克里斯蒂安

    --
    Bauer sucht Frau! | Ich bin ja eigentlich kein Serien-Junkie…
    Es gibt keinen Ort, wo der Geist zu finden waere. Er ist wie die Fussspuren der Voegel am Himmel.
    http://wwwtech.de/