First of all, thank you. This is the just first version (or rough draft) it is more of a template that I will use to create something more secure. The thing I am working on right now, is an encryption system to encrypt the password. The encrypted password will be sent to the server anytime a transaction takes place and decrypted by the server (so people don't send fake messages to the server).
Encryption for between the server and client(s) over rednet is a good plan.
However for password storage, you might not want to use encryption, but instead use one-way hashing. This offers many advantages in security.
The basic process would be, when a user is setting up their account and setting a password for the first time, take the input and put in variable one.
Then immediately pass that variable to the one-way hasing function, storing the hash in variable two. Then set variable one to a blank string.
The plaintext password is now gone (and thus safe), so save the hashed password along with their username/id.
Later when that user goes to authenticate, you do the same process. input into var, hash the var, and blank it.
Then you can compare the hash you currently have, with the hash stored in their account.
If they match, the user has typed the same thing this time as they did the first time, whatever that thing may be. If they don't match, give a "wrong password" error.
Most people re-use the same password many places, which yes is a horibly bad idea, but that's what happens.
For a non-insignifigant percentage of users, if a hacker stole your password file and it contained plain text passwords, now the hacker might have access to the users minecraft account, email, and who knows what else.
Worse, if you had the passwords encrypted in a reversable way, well clearly the server program would need to know the key to decrypt them, which means that key would need to be stored somewhere that the hacker also has access to. That means they could just decrypt the passwords too, and the encryption didn't protect anything.
If you assume the worse (a hacker copied every last file from the server), with one way hashing all they could do is try every word in a dictionary (a brute force) which takes time, and is easily thwarted by not using words in the dictionary as passwords ;}
But that would be a lot better than basically handing them both the encrypted passwords and the key to decrypt them.
As an administrator, you'll never have a need to know their password. You can reset a password if one is forgotten, and you can compare hashes to know if what was typed matches what was stored.
I do recall someone posting code to do SHA1 hashing. I'd avoid rc5 since it's not really that good these days.
Also if you use one of the many LAN cable mods out there instead of rednet, that will eleminate the need for encryption all together, and make the job that much easier.