Looking for php Keywords? Try Ask4Keywords

PHPPasswort-Hashing-Funktionen


Einführung

Da sicherere Web-Services das Speichern von Passwörtern im Klartextformat vermeiden, bieten Sprachen wie PHP verschiedene (nicht dekodierbare) Hash-Funktionen zur Unterstützung des sichereren Industriestandards. Dieses Thema enthält Dokumentation für das korrekte Hashing mit PHP.

Syntax

  • string password_hash ( string $password , integer $algo [, array $options ] )
  • boolean password_verify ( string $password , string $hash )
  • boolean password_needs_rehash ( string $hash , integer $algo [, array $options ] )
  • array password_get_info ( string $hash )

Bemerkungen

Vor PHP 5.5 können Sie das Kompatibilitätspaket verwenden , um die Funktionen password_* bereitzustellen. Es wird dringend empfohlen, das Kompatibilitätspaket zu verwenden, wenn Sie dazu in der Lage sind.

Mit oder ohne Kompatibilitätspaket hängt die korrekte Bcrypt-Funktionalität von crypt() von PHP 5.3.7 und höher ab. Andernfalls müssen Sie Kennwörter auf Nur-ASCII-Zeichensätze beschränken.

Hinweis: Wenn Sie PHP 5.5 oder niedriger verwenden, verwenden Sie eine nicht unterstützte Version von PHP, die keine Sicherheitsupdates mehr erhält. Aktualisieren Sie so schnell wie möglich. Sie können anschließend Ihre Passwort-Hashes aktualisieren.

Algorithmusauswahl

Sichere Algorithmen

Unsichere Algorithmen

Die folgenden Hash-Algorithmen sind für den Zweck unsicher oder nicht geeignet und sollten daher nicht verwendet werden . Sie waren nie für Passwort-Hashing geeignet, da sie für schnelle Digests statt langsamer und schwer zu erzwingender Passwort-Hashes ausgelegt sind.

Wenn Sie einen von ihnen verwenden , auch Salze, sollten Sie so schnell wie möglich zu einem der empfohlenen sicheren Algorithmen wechseln .

Algorithmen als unsicher betrachtet:

Einige Algorithmen können sicher als Message Digest-Algorithmus zum Nachweis der Authentizität verwendet werden, niemals jedoch als Passwort-Hashing-Algorithmus :

  • SHA-2
  • SHA-3

Beachten Sie , starke Hashes wie SHA256 und SHA512 sind ungebrochen und robust, jedoch ist es in der Regel sicherer bcrypt oder argon2 Hash - Funktionen zu verwenden , wie Brute - Force - Angriffe gegen diese Algorithmen viel schwieriger für klassische Computer sind.

Passwort-Hashing-Funktionen Verwandte Beispiele