[1.2.4] Salted Password Hashing (PBKDF2 sha256)

In diesem Forum kannst du Erweiterungen zu EasyHP und kleine Code-Schnipsel downloaden.

Moderator: Supporter

Antworten
trillian2002
Inaktiv
Beiträge: 1
Registriert: 21. Oktober 2014, 19:48

[1.2.4] Salted Password Hashing (PBKDF2 sha256)

Beitrag von trillian2002 » 24. Oktober 2014, 19:47

Vorraussetzung:
- PHP 5 mit aktivierter mcrypt Extension
- Zugang zur MySQL Datenbank
- Zugang zu den PHP Dateien

Für eine Kundin habe ich EasyHP aufgesetzt und dabei ist mir aufgefallen, dass die Passwörter relativ unsicher in der DB abgespeichert werden.

Also habe ich mich drangesetzt und das Passwort Hashing Verfahren von salted MD5 auf salted PBKDF2 SHA256 geändert.
Dafür habe ich diese PHP Klasse benutzt.

Leider ist es nicht möglich, die bestehenden Passwort Hashes von MD5 zu SHA256 zu konvertieren.
Es ist dennoch nicht nötig irgendwelche Passwörter manuell neu zu setzen oder die User zu informieren, sie mögen ihr Passwort ändern.
Ich habe dafür ein neues Datenbankfeld (password_hash) in der User Tabelle angelegt. Beim Login wird jetzt geprüft, ob der Hash bereits durch das neue Verfahren erzeugt wurde oder ob es sich noch um einen alten MD5 Hash handelt. Handelt es sich noch um einen MD5 Hash wird bei erfolgreicher authentifizierung das Passwort mit dem neuen Verfahren gehashed, in der Datenbank abgespeichert und das Feld "password_hash" aktualisiert. So werden nach und nach alle alten, MD5 Passwörter auf SHA256 aktualisiert.

Ich hoffe dem einen oder anderen gefällt meine Erweiterung.
Und bitte seht es mir nach, wenn sich doch noch irgendwo Fehler eingeschlichen haben, es ist meine erste Erweiterung :D

Gruss
trillian2002
Dateianhänge
SHA256_password_hashing.zip
(4.98 KiB) 174-mal heruntergeladen

Benutzeravatar
ElooKoN
Administrator
Administrator
Beiträge: 728
Registriert: 1. April 2007, 17:42
EasyHP Website: http://www.easyhp-cms.org
Kontaktdaten:

Re: [1.2.4] Salted Password Hashing (PBKDF2 sha256)

Beitrag von ElooKoN » 24. Oktober 2014, 20:16

Das ist ja toll :P

Antworten