PHP 5.5: Sichere Passwörter mit neuem Crypt-API
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.
- Anzeige Hier geht es zum Handbuch für Softwareentwickler bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.



