2012-10-15 7 views
5

Java's JPasswordField koduje dane wejściowe wprowadzone przez użytkownika w polu hasła i nie chcę tego. Sprawdzam hasło przed wartościami bazy danych, które są czysto liczbowe.JPasswordField kodowanie wejścia

Am wprowadzeniu wartości liczbowych dla hasła jak

12345 

i zwraca

[[email protected] 
+1

Co rozumiesz przez kodowanie? Powinieneś po prostu użyć metody 'getPassword'. – Austin

+0

Naprawdę ?! Jak to zrobiłeś ?! – MadProgrammer

+1

Czy źle interpretujesz 'char []' zwykle zwracany, dla 'String'? –

Odpowiedz

4

Myślę, że kiedy masz na myśli kodowanie, jesteś prawdopodobnie próbuje użyć metody toString. Które na tablicy char, po prostu użyje standardowej metody obiektu toString.

Zamiast można prawdopodobnie zrobić

String password = new String(passwordField.getPassword()); 

Jedyna droga to „zakodowana” jest, jeśli jesteś coraz zaszyfrowanego hasła jakoś.

+0

+1, ale należy pamiętać, że hasła zazwyczaj nie są zwracane jako instancje "String" z bardzo dobrego powodu związanego z bezpieczeństwem. Nie jestem pewien, co to jest za przyczyna, ale prawdopodobnie już wcześniej wiele razy pytano/odpowiadano. –

+0

dzięki temu zadziałało ... – user1734885

+0

@ user1734885 Jeśli zadziałało, możesz nacisnąć przycisk znacznika wyboru, aby oznaczyć odpowiedź jako zaakceptowaną :) – Austin