Was ist das korrekte format für eine blowfish-Salz mit PHP ' s crypt?

Habe ich gelesen, die Informationen auf der PHP-Manual Entry for crypt(), aber ich finde mich immer noch nicht sicher das format für ein Salz zum auslösen des Blowfish-Algorithmus.

Nach manueller Eingabe, sollte ich mit '$2$' oder '$2a$' als den Beginn einer Zeichenfolge mit 16 Zeichen. Jedoch, in dem gegebenen Beispiel später, Sie nutzen einen sehr viel längeren string: '$2a$07$usesomesillystringforsalt$', das zeigt mir, dass beliebige Zeichenfolge, die ich zur Verfügung stellen, werden in Scheiben geschnitten und gewürfelt, um das Modell passt.

Dem problem bin ich begegnet, ist tatsächlich die Auslösung der Blowfish algo vs STD_DES. Beispiel:

$foo = 'foo';
$salt = '$2a$' . hash('whirlpool', $foo); //128 characters, will be truncated
$hash = crypt($foo, $salt); 
//$hash = $26HdMTpoODt6

Dass hash ist offensichtlich nicht im whirlpool, und der ist in der Tat STD_DES mit nur die ersten beiden Zeichen des Salzes der Salz. Aber im Handbuch von PHP Beispiel, Ihr Salz beginnt mit '$2a$07$', also wenn ich die drei Zeichen den gleichen code bekomme ich die folgende:

$foo = 'foo';
$salt = '$2a$' . hash('whirlpool', $foo); //128 characters, will be truncated
$hash = crypt($foo, $salt); 
//$hash = $2a$07$b1b2ee48991281a439da2OHi1vZF8Z2zIA.8njYZKR.9iBehxLoIC

Hab ich gemerkt, ich kann einige Abweichungen in den Zeichen, die hier so gezeigt, wie '07$', zum Beispiel 04$ und 15$ beide arbeiten, aber 01$ durch 03$ funktionieren nicht (erzeugt eine leere Zeichenfolge), und Werte wie 99$ und 85$ dazu, dass es wieder STD_DES wieder.

Die Frage:

Was ist die Bedeutung dieser drei Zeichen nach dem '$2a$' Zeichenkette, die, so wie ich bin führen um zu glauben, dass durch die manuelle, weisen die crypt-Funktion verwendet den blowfish-Methode.

Laut Handbuch ' $2a$ " sein sollte genug, um zu lehren crypt() Verwendung des blowfish-Methode; was ist dann die Bedeutung der folgenden drei Zeichen? Was ist dann das richtige format für ein Salz, wenn diese drei Charaktere sind so bedeutend?

InformationsquelleAutor Dereleased | 2010-02-08
Schreibe einen Kommentar