Generieren von Passwort-Hash In PHP 5.5 Und Einstellung-Cost-Option

Ich weiß, PHP 5.5 ist in der alpha, aber diese Klasse mache ich gerade, im Voraus zu nutzen, es ist hashing-Funktion mit function_exists().

Ich überprüfte die password_hash Dokumentation. Das 3. argument ist für $options, die unterstützt derzeit zwei Optionen, 'salt' und 'Kosten'.

Es besagt Folgendes:

Kosten, bezeichnet die Algorithmische Kosten verwendet werden soll. Beispiele
diese Werte können sein gefunden auf die crypt () - Seite.

Wenn ich auf die crypt () - Seite der Dokumentation es gibt, ist:

Blowfish-Hash mit einem salt wie folgt: "$2a$", "$2x$" oder "$2y$", eine
zweistellige Kosten-parameter, "$", und 22 Ziffern aus dem alphabet
"./0-9A-Za-z". Mit Zeichen, die außerhalb dieses Bereichs in das Salz wird
Ursache crypt() für die Rückgabe einer Zeichenfolge der Länge null. Die zwei-stellige Kosten
parameter ist die Basis-2-Logarithmus der iterationsanzahl für die
zugrunde liegenden Blowfish-based hashing algorithmeter und müssen in Reichweite sein
04-31, Werte außerhalb dieses Bereichs verursachen crypt() fehl. Versionen
PHP vor 5.3.7 unterstützt nur "$2a$" als Salz-Präfix: PHP 5.3.7
eingeführt wird der neue Präfixe zu beheben, eine Sicherheitslücke in der Blowfish
Umsetzung. Bitte beziehen Sie sich auf » dieses Dokument für vollständige details
die Sicherheits-fix, aber um es zusammenzufassen, nur PHP-Entwickler, die für
5.3.7 und höher sollten mit "$2y$" bevorzugt "$2a$".

Ich kann nicht scheinen, um meinen Kopf gewickelt, um dieses. Es sagt PHP 5.3.7 und höher verwenden soll $2y$, aber was Kosten Wert verwende ich, um zu erhalten, dass eine und ist es den besten Wert zu wählen? Das Beispiel, das Sie bieten, nutzt einen Wert von 7, aber nach oben kann es gehen: bis zu 31, welchen Unterschied macht es, zu verwenden, sagen wir 4 im Gegensatz zu sagen, 31?

  • Bis Sie einen Grund finden, um etwas zu wählen, eine andere als die default-Werte, (wie wenn Sie die Standardeinstellungen sind nachweislich schwach), warum nicht wählen Sie einfach die Standardwerte, und fahren Sie auf die nächste Ausgabe? In meiner Erfahrung, die PHP default-Werte für alles, haben sehr viel besser geworden seit PHP 5.3. Nur ein Gedanke, ~Ray
  • wahr. Jedoch, die noch nicht vergossen Licht auf, wie und warum Sie verschiedene Kosten-Werte. Die PHP Standard-mag sicher sein, aber mindestens für die eventuell performance-Gründen. So kann je nach Produktion Umwelt-und Sicherheitspolitik erfordert es möglicherweise etwas stärker. Nur meine Gedanken. =o)
  • Siehe auch Openwall ist Portable PHP password hashing framework (PHPass). Seine gehärtete gegen eine Reihe von gemeinsamen Angriffe auf Benutzer-Passwörter. Und er schätzt die Kosten auf der Basis des gewählten hash (aber ich bin mir nicht sicher, ob die option ausgesetzt ist).
InformationsquelleAutor cryptic ツ | 2012-12-16
Schreibe einen Kommentar