Alexander (HH): vorläufiges Ergebnis: Sicheres Arbeiten mit Sessions / Login

Beitrag lesen

Moin Moin!

  1. Speichert Benutzername/Passwort in Datenbank. Passwort als Hash in der Form: $hash = hash("sha512", md5($username).$password);
    Wie begründest du, dass du vom Usernamen einen MD5-Hash bildest? Wenn du dir schon Gedanken über Sicherheit machst, dann solltest du auch die Sinnhaftigkeit nachweisen können. Hast du dir mal Literatur über hashs of salted passwords gesucht?
    Ich glaube, Du hast das Stückchen Code nicht wirklich gelesen oder es gründlich mißverstanden.

Wie hätte ich es denn deines Glaubens nach verstehen sollen? Ich sehe, dass von einem Usernamen der MD5-Hash mit dem Passwort verknüpft wird und davon ein SHA512-Hash gebildet werden soll und frage mich nun - oder besser den Autor -, was der geMD5te Username dort macht? Soll das ein Salt sein?

Offenbar.

Und wenn ja, was ist dann mit solch bekannten Usernamen wie admin und root, von denen man vorberechnete Hashes bereithalten kann?

Das fällt unter "Pech gehabt". Es lebe der frei definierte Superuser-Name ... ;-)

Im Ernst: Eine "vielbittige" Zufallszahl als Salt wäre hier in der Tat günstiger, die packt man zusammen mit dem Hash in die DB und alles wird gut.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".