2009-07-15 9 views
0

Ich programmiere eine neue Site in JSF. Im Moment programmiere ich das Login.
Ich habe vor einigen Jahren md5 benutzt, aber mit Rainbow Tables denke ich, dass es nicht mehr sicher ist.
Also, wie soll ich das Passwort in der Datenbank speichern?Wie soll ich mein Passwort speichern?

+1

mit einem guten Salz, sogar MD5 ist für einige Anwendungen akzeptabel. Das Wichtigste ist, die Passwörter zu salzen. – rmeador

Antwort

12
+0

Absolut, Amen. Sehr wichtiger Ratschlag in diesem; speziell mit Salting und Nonces umgehen, einen langsamen Hash verwenden und den kritischsten Ratschlag aller ... eine bestehende Implementierung wiederverwenden. – Rob

+0

Ich wünschte, ich könnte mehr als einmal upvote ... – rmeador

+0

Danke, ich wusste nicht über die SRP-Sache. – stribika

0

Ich empfehle Hashing mit sha512 und Salzen. (Bewahren Sie einen zufälligen Wert für jeden Geschmack und Hash-Passwort und diesen Wert zusammen.)

2

Das erste, was Sie tun möchten, ist suchen Sie nach einem vorgefertigten System von Ihr Verkäufer. Sie möchten so viel wie möglich an jemanden weitergeben, der Sicherheitscode für seinen Lebensunterhalt schreibt, weil es sehr leicht ist, sich auf subtile Weise zu irren, von der Sie nichts wissen, bis es zu spät ist. Auf diese Weise können Sie auch Service-Updates von ihnen erhalten, so dass Sie einfach nicht mehr darüber nachdenken müssen.

Darüber hinaus denken Sie daran, eine pro-Konto-Salz zu Ihrem Passwort zu generieren, und verwenden Sie eine sichere Hash-Algorithmus (MD5 ist für Geschwindigkeit, nicht unbedingt Sicherheit). SHA1 ist ziemlich üblich, obwohl es auch alt wird.

0

Wenn Sie PKCS # 5 nachschlagen (oder besser, finden Sie eine seriöse Implementierung, die es bereits tut), finden Sie einen ziemlich guten Mechanismus.

Grundsätzlich wählen Sie eine Nummer (sagen Sie 500), ein Passwort, einen Hash-Algorithmus und eine Salz (Zufallsdaten am Ende des Passworts hinzugefügt, um es weniger raten zu machen).

  1. Nimm das Passwort, salze es und hasse es.
  2. Nehmen Sie das Ergebnis, Salz (das gleiche Salz) und hat das.
  3. Wiederholen Sie Schritt 2 N-mal (in diesem Beispiel ist N 500).
  4. Speichern Sie die endgültige Hash, Salz Ergebnis, zusammen mit N und das Salz selbst in Ihrer Passwort-Datenbank.
Verwandte Themen