Ich erstelle einen Benutzerregistrierungsdienstanbieter und in diesem ich benutze die Funktion password_hash, um das Passwort des angegebenen Benutzers hash. Unten ist der Codeabschnitt verwendet, um die Hash-Zeichenfolge zu erstellen:PHP-Problem: Passwort-Hash-Funktion ist nicht in der Lage, eine Salz zu generieren
public function generateHash($string)
{
return password_hash($string, PASSWORD_BCRYPT);
}
Wie ich aus dem PHP-Handbuch zu verstehen, sollen wir nicht unser Salz erzeugen und stattdessen die password_hash Funktion, dass für eine bessere Sicherheit sorgen lassen. Allerdings, wenn ich versuche, einen neuen Benutzer erstellen erhalte ich die unten Warnung:
Warnung: password_hash(): Nicht imstande, Salz
Die Anwendung erstellt den Benutzer aber aufgrund des oben genannten Problem zu erzeugen keine Hash wird geschätzt, wenn jemand mich in den richtigen Punkt kann immer leer sein hoch werden erzeugt und in der Datenbank
ich bin mit PHP Version 7.0.4/Zend Server in meiner Entwicklungsumgebung
Es wäre das Passwort Richtung
Mit welchem Betriebssystem arbeiten Sie? – jszobody
Ein leeres Passwort gibt immer noch einen Hash zurück. –
Von der Suche ist der einzige Ort in der PHP-Quelle, wo diese Fehlermeldung generiert wird, [nicht zufällig Bytes erzeugen] (https://github.com/php/php-src/blob/c72282a13b12b7e572469eba7a7ce593d900a8a2/ext/standard/password. C# L125-L126). Wenn Sie [random_bytes] (http://php.net/random_bytes) betrachten, sehen Sie die verschiedenen Möglichkeiten, wie PHP versucht, Zufälligkeiten zu erzeugen. Ich würde anfangen, diese zu beheben. – jszobody