Start · Sprachen · PHP · Snippets · Passwort hashen und prüfen

Passwort hashen und prüfen

Krypto & Passwörter

Niemals MD5, SHA1 oder gar Klartext. password_hash nutzt bcrypt oder Argon2 mit sicherem Salt.

Code

<?php

declare(strict_types=1);

// Beim Registrieren
$hash = password_hash($plainPassword, PASSWORD_DEFAULT);
// In DB speichern

// Beim Login
$stored = fetchHashFromDb($username);

if (password_verify($input, $stored)) {
    // Optional: Hash neu berechnen wenn Cost gestiegen
    if (password_needs_rehash($stored, PASSWORD_DEFAULT)) {
        $newHash = password_hash($input, PASSWORD_DEFAULT);
        updateHashInDb($username, $newHash);
    }
    // Login erfolgreich
} else {
    // Login abgelehnt — generische Fehlermeldung
}

Häufige Fragen

Darf ich dieses Snippet kopieren und produktiv einsetzen?

Ja — alle Code-Beispiele auf programmierung.net dürfen frei kopiert und angepasst werden. Prüfe vor dem Produktiv-Einsatz immer Edge-Cases (leere Eingaben, Encoding, Fehlerbehandlung) und die Lizenzvorgaben eingebundener Bibliotheken.

Welche PHP-Version wird vorausgesetzt?

Snippets zielen auf aktuelle, stabile PHP-Versionen. Versionsabhängige Features werden im Code oder in der Beschreibung ausgewiesen.

Wo finde ich weitere PHP-Snippets?

In der Seitenleiste siehst du alle Snippets dieser Sprache. Oder gehe zur PHP-Übersicht.