Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich mit bcrypt Passwörter in PHP sicher hashen?

Wie kann ich mit bcrypt Passwörter in PHP sicher hashen?

DDD
DDDOriginal
2024-12-20 16:23:18481Durchsuche

How Can I Securely Hash Passwords in PHP Using bcrypt?

Bcrypt für Passwort-Hashing in PHP verwenden

bcrypt ist eine sichere Passwort-Hashing-Funktion, die zum Speichern von Passwörtern dringend empfohlen wird. Es ist langsam und verwendet viele Runden, was es für Angreifer schwierig macht, Passwörter durch Brute-Force-Angriffe zu erzwingen. Darüber hinaus werden pro Passwort Salts verwendet, um Rainbow Tables zu verhindern.

bcrypt in PHP

PHP verfügt nicht über eine integrierte Bcrypt-Funktion. Es stehen jedoch mehrere Optionen zur Verfügung:

  • PHP 5.5 und höher:

    password_hash('password', PASSWORD_DEFAULT); // Default settings
    password_hash('password', PASSWORD_BCRYPT, [
       'cost' => 11, // Set the number of rounds
    ]);
  • PHP 5.3.7 bis 5.5 (und RedHat PHP 5.3.3 ):

    • Installieren Sie die Kompatibilitätsbibliothek von GitHub.
    • Verwendung ist die gleiche wie bei PHP 5.5.
  • PHP-Versionen vorher 5.3.7:

    • Veraltet: Verwenden Sie die Funktion crypt(), beachten Sie jedoch, dass diese Methode nicht so sicher ist wie die Optionen oben.

Beispiel:

$bcrypt = new Bcrypt(15);
$hash = $bcrypt->hash('password');
$isGood = $bcrypt->verify('password', $hash);

Vorteile von bcrypt

  • Skalierbar mit Hardware (konfigurierbare Anzahl Runden)
  • Langsamkeit erschwert Brute-Force-Angriffe
  • Passwortspezifische Salts verhindern Rainbow Tables
  • Erfordert Salt, Rounds und Passwort zur Verifizierung

Denken Sie daran, das Salz immer zusammen mit dem gehashten Passwort aufzubewahren. Speichern Sie das Klartext-Passwort niemals in einer Datenbank oder einer anderen gemeinsam genutzten Ressource. Durch den Einsatz von bcrypt können Sie die Passwörter Ihrer Benutzer effizient und sicher schützen.

Das obige ist der detaillierte Inhalt vonWie kann ich mit bcrypt Passwörter in PHP sicher hashen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn