Avatar billede simonvalter Praktikant
01. juli 2003 - 21:28 Der er 9 kommentarer og
2 løsninger

jPasswordField og lidt andet

jeg sidder og roder med noget ala en ftp client ..
nu sidder jeg og undrer mig over JPasswordField og hvad det smarte egenligt er ved at typen er char[] ..
jeg kan se at getText (String) Deprecated og så vil jeg selvfølgelig gerne bruge det nyeste .. men jeg kan ikke finde ud af det ..
i første omgang skal jeg bare lave dette
ftp.login(jTextFieldUserName.getText(),password);
men den tager kun String ..
hvad er så det smarte i char[] ?

jeg vil godt have en lille forklaring ..
og så ville jeg i anden omgang godt have et eksempel/forslag/links til hvordan jeg kan gemme og checke om password er rigtigt hvis det nu feks blev gemt som md5 ?
da jeg serialiserer nogle bookmarks ..

btw jeg havde en løsning (slamkode) der virkede til det med jpasswordfield i jbuilder8 .. men nu virker den ikke i jbuilder9 ... mystisk.
Avatar billede arne_v Ekspert
01. juli 2003 - 21:35 #1
Nu er Swing ikke lig emit ekspertoe område, men Java Doc siger:

#Returns the text contained in this TextComponent. If the underlying
#document is null, will give a NullPointerException. For stronger security,
#it is recommended that the returned character array be cleared after use
#by setting each character to zero.

og som jeg læser det så får man en referance til et char array og man
er derfor i stand til at blank det indtastede - i modsætning til en String
som jo ikke kan ændres.

Jeg har aldrig brugt det her selv, så jeg gætter udfra ovenstående
tekst.
Avatar billede arne_v Ekspert
01. juli 2003 - 21:37 #2
Password og MD5 er ret simpelt.

Du gemmer passwordet som MD5 hash.

Nå du så skal sammenligne brugerens password med det rigtige, så
MD5 hasher du bare det indtastede og sammenligner med det rigtige.
Avatar billede simonvalter Praktikant
01. juli 2003 - 21:51 #3
ok .. men hvordan kommer jeg til at kunne bruge jPasswordField.getPassword() i min
ftp.login(jTextFieldUserName.getText(),jPasswordField.getPassword());
når den ikke vil acceptere char[]
hvis jeg løber char[] igemmen og laver en string så er der jo ikke noget formål ved at have char[] da jeg jo bare har en ny string så .. og så ryger ideen med char[]
Avatar billede arne_v Ekspert
01. juli 2003 - 21:54 #4
ftp.login(jTextFieldUserName.getText(),new String(jPasswordField.getPassword()));

formoder jeg ...
Avatar billede arne_v Ekspert
01. juli 2003 - 21:55 #5
Iøvrigt har E's URL genkendelses algoritme vist et lille problem.

:-)

Nå men pointen er ihvertfald at der er en String constructor
som kan lave en String fra char[].
Avatar billede _carsten Nybegynder
01. juli 2003 - 21:55 #6
ftp.login(jTextFieldUserName.getText(),(new String(passwordField.getPassword()));
Avatar billede _carsten Nybegynder
01. juli 2003 - 21:56 #7
Nå - det var vi rimelig enige om !!
Avatar billede simonvalter Praktikant
01. juli 2003 - 21:57 #8
jep .. selvfølgelig ;) .. jeg har prøvet med alt muligt .. typecating etc ... 
men nu virker det.
hvad angår det med kryptering så kom jeg lige i tanke om at jeg ikke kan gøre det .. det er passwords som ikke bliver indtastet men allerede ligger serialiseret som bookmarks og skal bruges til at connecte til et ftp site .. så der er ikke noget at gøre for bedre sikkerhed vel ?
Avatar billede arne_v Ekspert
01. juli 2003 - 22:00 #9
Det tror jeg ikke.

Fordi så skal de gemmes i MD5.

Og så virker de nok ikke i IE/NS.
Avatar billede arne_v Ekspert
01. juli 2003 - 22:00 #10
Og et svar.
Avatar billede simonvalter Praktikant
01. juli 2003 - 22:01 #11
ok mange tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester