PHP/MySQL: Passwörter richtig verschlüsseln?

Vielen Dank euch beiden :):):)
Jetzt kann ich auch gespannt und mit Verständnis eure Diskussion weiter verfolgen.
Vielen Dank.

Grüße
 
Hallo,

Ganz einfachen ding wenn der 5 mal das falsche passort eingibt 30 min stoppnen lassen.

oder chapcha hinzufügen und fertig das wars mit bruto force

mfg jens
 
Ich denke, darum soll es hier nicht gehen. Wie man Attacken abwendet, steht auf einem anderen Blatt.

Ich hab's bis jetzt so verstanden, dass es hier darum geht, wie man die Daten am sichersten speichert. Denn sollten die Daten mal nach aussen gelangen (wie auch immer), sollte es einem Angreifer schon ausreichend schwer gemacht werden an die wirklichen Passwörter zu kommen.
 
Dadurch dass wir einen anderen Salt bei dem 2. Hashing auch wieder verwenden haben wir keine statische Länge sodass Angriffe auf Grund von der Länge des Ausgangsmaterials beim 2. Hashing erleichtert würden.
OK, bei der Variante passt das. Wichtig ist allerdings, dass das Salt nicht bekannt wird, da sich die gesamte Prozedur recht einfach rekonstruieren lässt. Wenn es Datenlecks gibt, sind meistens alle Daten betroffen, daher sind Benutzernamen/Daten als Salt eher ungeeignet.
 
Hi,

Ich habe mich für einen Sha512 Hash + ein Salt je User entschieden.
Allerdings brauche ich jetzt 2 DB-Abfragen um zu testen, ob das eingegebene Passwort zum User passt. Schließlich muss ich ja vorher den Salt auslesen.

Oder mache ich da ein Denkfehler?
 
Allerdings brauche ich jetzt 2 DB-Abfragen um zu testen, ob das eingegebene Passwort zum User passt. Schließlich muss ich ja vorher den Salt auslesen.
Denkfehler!

Die DB kann das doch direkt konkatenieren und folglich in einer Abfrage auslesen:
Code:
[FONT=Courier New][B][COLOR=#9932cc][s]SELECT[/COLOR][/B] [B][COLOR=#9932cc]CONCAT[/COLOR][/B][COLOR=#9932cc]([/COLOR]salt, 'password_input'[COLOR=#9932cc])[/COLOR] [B][COLOR=#9932cc]AS[/COLOR][/B] salted_password
[B][COLOR=#9932cc]FROM[/COLOR][/B] [COLOR=black][B]table[/B][/COLOR]
[B][COLOR=#9932cc]WHERE[/COLOR][/B] userid = 42;[/s][/FONT]
In PHP kannst du dann hashen und vergleichen.


Ok, das war jetzt n Denkfehler von mir :oops: :biggrin:

Hol halt Salt und Hash mit einer Abfrage aus der DB. Oder bin ich jetzt völlig daneben? :ugly: