JPasswordField kodiertes Passwort

JvKbF

Mitglied
Hallo Leute,

ich habe hier ein wahrscheinlich schon sehr bekanntes Problem.

ich möchte fürs erste ein kleines LogIn Tool schreiben und brauche dafür natürlich dann auch ein Passwort Feld... so jetzt gibt es die Komponente JPasswordField und die dazugehörige Methode getPassword(), welche ein CharArray ausgibt.

Hier mal ein kleines Codebeispiel:

Java:
char[] test;
                test = jpf.getPassword();
                //test = jpf.hashCode() + ""; //764064335 als "test" ein String und kein Array war
                jl.setText(String.valueOf(test.toString()));
                System.out.println(test);

"jpf" ist das Passwort Feld.
so jetzt habe ich versucht das passwort in einen String umzuwandeln und den text auf ein JLabel "jl" zu setzten ... und dann noch auf der Konsole ausgeben ...
beim ausgeben auf die Konsole nimmt er das eingegebene Passwort... bei der setText Methode hat er allerdings Probleme ... beziehungsweise er Codiert dies immernoch ... aber nicht jedesmal gleich sondern, jedesmal wenn ich diesen Code ausführe anders.

Also mal macht er:
[C@50e25171
dann:
[C@4dce1444

und naja bei jedem mal ändert er das ...
das ist jetzt natürlich scheiße, wenn ich n LogIn schreibe mit Datenbank anbindung... weil da wird ja dann ein Passwort gespeichert .. und beim nächsten mal nimmt er ne andere codierung .. das geht ja auch nicht ... Jetzt hatte ich dann noch die idee, wie oben schon angefangen, dass ich das mit strings und nicht mit char Arrays mache ... allerdings ist da dann das problem dass beim hashcode immer das gleiche rauskommt ... obwohl man andere passwörter nimmt.



kann mir dabei jemand irgendwie helfen?



Danke euch schon mal! 🙂
 
Was du dir da ausgeben lässt ist die Speicher-Adresse deines Arrays (default toString-Methode (wundert mich zwar, aber sieht so aus)). Guck dir doch stattdessen einfach mal den Inhalt deines Arrays an 🙂
 
Du speicherst hoffentlich das Passwort in deiner DB nicht im Klartext ;-)
Wenn du den String des char[] haben möchtest, nimmst du am einfachsten den Konstruktor von String mit dem char[]. Also einfach new String(test)
 
ogott das hätte mir eigentlich selber in den sinn kommen sollen ... naja danke euch für die schnelle hilfe 😀 .. jetzt funktionierts wie ich es haben möchte
 

Neue Themen


Zurück
Oben