## 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
  - Calling `System.getProperty(realm,dft)`
  - Prompting for a password
  - Using promptDft if nothing was entered.

  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.