Forum: PC-Programmierung java passwort code sicherer machen


von JAVAPASSWORT (Gast)


Lesenswert?

1
String nr = JOptionPane.showInputDialog("Gib das Passwort ein");
2
    
3
    if (nr.equals("PW")){
4
      System.out.println ("");
5
      System.out.println ("Passwort richtig");
6
      daten();
7
}
Meine Frage: wie kann ich diesen code sicherer machen?

: Verschoben durch User
von Peter II (Gast)


Lesenswert?

JAVAPASSWORT schrieb:
> Meine Frage: wie kann ich diesen code sicherer machen?

was versteht du unter sicher?

sinnvoll ist das Password erst mal nicht im Klartext zu speichern.

if (md5(nr).equals("3948058349085349058304958304")){

md5 wird es wohl irgendwo in Java geben.

Sicher ist das aber noch lange nicht, wenn ich es hacken wöllte nehme 
ich einfach den Debugger und helfe ihn über das if hinweg.

von börp (Gast)


Lesenswert?

und statt md5 nimmt man heutzutage eher andere, sichere hashes

von Daniel H. (Firma: keine) (commander)


Lesenswert?

Hallo,

Passwörter niemals im Klartext speichern sondern mit einem 
(zufälligen) Salt versehen, Hashen und dann den Hash und den Salt 
hinterlegen. Bei der Verifizierung dann das eingegebene Passwort wieder 
mit dem Salt versehen, Hashen und gegen den hinterlegten Hash prüfen.

Als Hashfunction unbedingt eine kryptographische Sichere nehmen, z.B. 
aus der SHA-2 Familie.

: Bearbeitet durch User
von programm.exe (Gast)


Lesenswert?

Daniel H. schrieb:
> Passwörter niemals im Klartext speichern sondern mit einem
> (zufälligen) Salt versehen, Hashen und dann den Hash und den Salt
> hinterlegen. Bei der Verifizierung dann das eingegebene Passwort wieder
> mit dem Salt versehen, Hashen und gegen den hinterlegten Hash prüfen.

Und wie stellst du dir das in Java vor?

von Daniel H. (Firma: keine) (commander)


Lesenswert?

programm.exe schrieb:
> Und wie stellst du dir das in Java vor?

Hash und Salt wie oben im Programmcode hinterlegen? Oder in einer 
Datenbank? Wir wissen ja nicht, was es für eine Anwendung genau ist.

Wie Peter II schon schrieb gibt es dann immer noch Wege die Abfrage zu 
umgehen, aber rein durch Anschauen des Codes wird keiner das verwendete 
Passwort erraten können, sofern eine kryptographisch sichere 
Hashfunktionen verwendet wird (die bei Java auch schon von Haus aus 
durch java.security.MessageDigest unterstützt werden).

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.