org.mortbay.util
Class Password

java.lang.Object
  |
  +--org.mortbay.util.Credential
        |
        +--org.mortbay.util.Password

public class Password
extends Credential

Password utility class. This utility class gets a password or pass phrase either by:

  + Password is set as a system property.
  + The password is prompted for and read from standard input
  + A program is run to get the password.
 
Passwords that begin with OBF: are de obfuscated. Passwords can be obfuscated by run org.mortbay.util.Password as a main class. Obfuscated password are required if a system needs to recover the full password (eg. so that it may be passed to another system). They are not secure, but prevent casual observation.

Passwords that begin with CRYPT: are oneway encrypted with UnixCrypt. The real password cannot be retrieved, but comparisons can be made to other passwords. A Crype can be generated by running org.mortbay.util.UnixCrypt as a main class, passing password and then the username. Checksum passwords are a secure(ish) way to store passwords that only need to be checked rather than recovered. Note that it is not strong security - specially if simple passwords are used.

Version:
$Id: Password.java,v 1.9 2003/02/15 22:40:34 bretts Exp $
Author:
Greg Wilkins (gregw)

Nested Class Summary
 
Nested classes inherited from class org.mortbay.util.Credential
Credential.Crypt, Credential.MD5
 
Constructor Summary
Password(java.lang.String password)
          Constructor.
 
Method Summary
 boolean check(java.lang.Object credentials)
          Check a credential
static java.lang.String deobfuscate(java.lang.String s)
           
 boolean equals(java.lang.Object o)
           
static Password getPassword(java.lang.String realm, java.lang.String dft, java.lang.String promptDft)
          Get a password.
 int hashCode()
           
static void main(java.lang.String[] arg)
           
static java.lang.String obfuscate(java.lang.String s)
           
 java.lang.String toStarString()
           
 java.lang.String toString()
           
 
Methods inherited from class org.mortbay.util.Credential
getCredential
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Password

public Password(java.lang.String password)
Constructor.

Parameters:
password - The String password.
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

toStarString

public java.lang.String toStarString()

check

public boolean check(java.lang.Object credentials)
Description copied from class: Credential
Check a credential

Specified by:
check in class Credential
Parameters:
credentials - The credential to check against. This may either be another Credential object, a Password object or a String which is interpreted by this credential.
Returns:
True if the credentials indicated that the shared secret is known to both this Credential and the passed credential.

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

obfuscate

public static java.lang.String obfuscate(java.lang.String s)

deobfuscate

public static java.lang.String deobfuscate(java.lang.String s)

getPassword

public static Password getPassword(java.lang.String realm,
                                   java.lang.String dft,
                                   java.lang.String promptDft)
Get a password. A password is obtained by trying

Parameters:
realm - The realm name for the password, used as a SystemProperty name.
dft - The default password.
promptDft - The default to use if prompting for the password.
Returns:
Password

main

public static void main(java.lang.String[] arg)
Parameters:
arg -


Copyright ? 2000 Mortbay Consulting Pty. Ltd. All Rights Reserved.