Zum Hauptinhalt Zur Navigation

PHP 5.5: Sichere Passwörter mit neuem Crypt-API

Ein neues API soll in PHP 5.5 für sichere Passwörter sorgen. Entwickler sollen damit animiert werden, Passwörter mit Bcrypt zu hashen statt wie bisher meist mit Md5 oder Sha1.
/ Jörg Thoma
86 Kommentare News folgen (öffnet im neuen Fenster)
PHP 5.5 erhält ein neues API zu Passwort-Hashing. (Bild: PHP-Projekt)
PHP 5.5 erhält ein neues API zu Passwort-Hashing. Bild: PHP-Projekt

Mit einem neuen Crypt-API sollen Entwickler sicheres Passwort-Hashing nutzen können. Das Secure Password Hashing API wurde bereits für die bevorstehende Version 5.5 von PHP akzeptiert. Das bislang verwendete API sei zu kompliziert gewesen, um ein sicheres Passwort-Hashing mit Bcrypt umzusetzen, schreibt das PHP-Team(öffnet im neuen Fenster) .

Standard in dem neuen API ist Passwort-Hashing mit Bcrypt. Bislang griffen viele Entwickler noch auf die beiden unsicheren Hashing-Verfahren Sha1 und Md5 aus Bequemlichkeit zurück. Das zeigen auch die zahlreichen erfolgreichen Angriffe in der letzten Zeit. Mit dem einfacher gehaltenen neuen API soll das Hashing nicht nur simpler, sondern auch konfigurierbarer werden.

Standardmäßig Bcrypt mit Faktor 10

Standardmäßig sollen Passwörter künftig mit der Zeile $hash = password_hash($password, PASSWORD_DEFAULT); gehasht werden. Dabei wird Bcrypt mit dem Faktor 10 verwendet und automatisch mit einer zufällig gewählten Zeichenfolge (Salt) versehen. Mit $hash = password_hash($password, PASSWORD_BCRYPT, ['cost' => 12]); kann der Faktor erhöht werden, was allerdings mehr Rechenleistung kostet.

Die Verifizierung der Passwörter ist mit der If-Zeile if (password_verify($password, $hash)) erledigt. Die Standardeinstellungen für Salt und Algorithmus (Bcrypt) werden dabei automatisch berücksichtigt.

Anpassungsfähig

Auch die spätere Erhöhung des Faktors kann PHP automatisch erledigen, etwa mit der Zeile if (password_needs_rehash($hash, PASSWORD_DEFAULT)) {$hash = password_hash($password, PASSWORD_DEFAULT);} .

Das neue API kann bereits in aktuellen Versionen von PHP genutzt werden. Der entsprechende Code steht auf einem Github-Server zum Download(öffnet im neuen Fenster) bereit. Bei einem Update auf PHP 5.5 wird der Code automatisch deaktiviert.


Relevante Themen