Password 5 JApplet

Purpose: learning.

The encrypted string is decrypted with the username.
Result is a filename.
That file is loaded by the applet from the Internet.
The first line in that file contains the url where the applet brings you.

Decompiling the applet will not reveal the hidden link.
For geting the secret file the username and encrypted string is needed.

Encryption is done with Password based Encryption with MD5 and DES
Made readable with Base64

Problems encoutered:
Password applets are not very secure
JApplet behaviour is different than Applet
Costum Image Button added using JComponent
JComponent does not support ActionListener Internface.
Added code so it supports ActionListener Interface
JApplet does not allow acces to the systems clipboard.
Found some code for excessing the systems clipboard but not implemented
Signed Password5.jar file which makes copy and paste possible
Applets do not have access to the sun Base64 so wrote my own methods
Wrote costum component MyLabeledTextField. (JTextfield with label in front)
Adjusted focus system for MyLabeledTextField (JTextField can also be a JPasswordField)
Wrote method so applet can read a file from its origin
Finally wrote a small applet that calculates the encrypted string (From username and secet filename)

Unsolved is a bug
Thread behavior is strange
Although executed from the event thread
The thread stops at a constructor
Then continues in a totaly other place and tries to add a Listener to the not constructed component.
Same thread but redirected by the JVM to another place
(System.out.println(Thread.currentThread()); It throws an error but it stays working
I could be wrong but it looks like a JVM bug
If the JTextField is a JPasswordField the error does not occur

The password string is long and difficult to type manually

Note Java password applets are not a good tool there are far more better
Like PHP scripts CGI ASP or .htaccess file.

The source codes are in this directory.
Regards RJHM van den Bergh.