For the latest news and information visit
The GNU Crypto project

gnu.crypto.auth
Class Password

java.lang.Object
  extended bygnu.crypto.util.ExpirableObject
      extended bygnu.crypto.auth.Password
All Implemented Interfaces:
Destroyable

public final class Password
extends ExpirableObject

Immutible, though destroyable, password class.

Extends ExpirableObject, implementing doDestroy() in which encapsulated char[], and byte[] password fields are cleared (elements set to zero) in order to thwart memory heap snooping.


Field Summary
 
Fields inherited from class gnu.crypto.util.ExpirableObject
DEFAULT_TIMEOUT
 
Constructor Summary
Password(byte[] password)
          Create a new expirable Password object that will expire after the default timeout ExpirableObject.DEFAULT_TIMEOUT.
Password(byte[] password, int offset, int length)
          Create a new expirable Password object that will expire after the default timeout ExpirableObject.DEFAULT_TIMEOUT.
Password(byte[] password, int offset, int length, long delay)
          Create a new expirable Password object that will expire after the timeout denoted by constructor parameter, delay.
Password(byte[] password, long delay)
          Create a new expirable Password object that will expire after the timeout denoted by constructor parameter, delay.
Password(char[] password)
          Create a new expirable Password object that will expire after the default timeout ExpirableObject.DEFAULT_TIMEOUT.
Password(char[] password, int offset, int length)
          Create a new expirable Password object that will expire after the default timeout ExpirableObject.DEFAULT_TIMEOUT.
Password(char[] password, int offset, int length, long delay)
          Create a new expirable Password object that will expire after the timeout denoted by constructor parameter, delay.
Password(char[] password, long delay)
          Create a new expirable Password object that will expire after the timeout denoted by constructor parameter, delay.
 
Method Summary
protected  void doDestroy()
          Sets password field char[], and byte[] array elements to zero.
 byte[] getBytes()
          Returns a reference to the byte[] password storage field, bPassword.
 char[] getPassword()
          Returns a reference to the char[] password storage field, password.
 boolean isDestroyed()
          Returns true, or false relative to whether, or not this object's doDestroy() method has been called.
 
Methods inherited from class gnu.crypto.util.ExpirableObject
destroy
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Password

public Password(char[] password)
Create a new expirable Password object that will expire after the default timeout ExpirableObject.DEFAULT_TIMEOUT.

Parameters:
password - The character array password to associate with this Password object.

Password

public Password(char[] password,
                long delay)
Create a new expirable Password object that will expire after the timeout denoted by constructor parameter, delay.

Parameters:
password - The character array password to associate with this Password object.
delay - The number of miliseconds before this Password object will be automatically destroyed.

Password

public Password(char[] password,
                int offset,
                int length)
Create a new expirable Password object that will expire after the default timeout ExpirableObject.DEFAULT_TIMEOUT.

Parameters:
password - The character array password to associate with this Password object.
offset - The password character array parameter element marking the beginning of the contained password string.
length - The number of characters, beginning at offset, to be copied into this object's password field.

Password

public Password(char[] password,
                int offset,
                int length,
                long delay)
Create a new expirable Password object that will expire after the timeout denoted by constructor parameter, delay.

Parameters:
password - The character array password to associate with this Password object.
offset - The password character array parameter element marking the beginning of the contained password string.
length - The number of characters, beginning at offset, to be copied into this object's password field.
delay - The number of miliseconds before this Password object will be automatically destroyed.

Password

public Password(byte[] password)
Create a new expirable Password object that will expire after the default timeout ExpirableObject.DEFAULT_TIMEOUT.

Parameters:
password - The byte array password to associate with this Password object.

Password

public Password(byte[] password,
                long delay)
Create a new expirable Password object that will expire after the timeout denoted by constructor parameter, delay.

Parameters:
password - The byte array password to associate with this Password object.
delay - The number of miliseconds before this Password object will be automatically destroyed.

Password

public Password(byte[] password,
                int offset,
                int length)
Create a new expirable Password object that will expire after the default timeout ExpirableObject.DEFAULT_TIMEOUT.

Parameters:
password - The byte array password to associate with this Password object.
offset - The password byte array parameter element marking the beginning of the contained password string.
length - The number of bytes, beginning at offset, to be copied into this object's password field.

Password

public Password(byte[] password,
                int offset,
                int length,
                long delay)
Create a new expirable Password object that will expire after the timeout denoted by constructor parameter, delay.

Parameters:
password - The byte array password to associate with this Password object.
offset - The password byte array parameter element marking the beginning of the contained password string.
length - The number of bytes, beginning at offset, to be copied into this object's bPassword field.
delay - The number of miliseconds before this Password object will be automatically destroyed.
Method Detail

getPassword

public char[] getPassword()
Returns a reference to the char[] password storage field, password.


getBytes

public byte[] getBytes()
Returns a reference to the byte[] password storage field, bPassword.


doDestroy

protected void doDestroy()
Sets password field char[], and byte[] array elements to zero. This method implements base class ExpirableObject abstract method, ExpirableObject.doDestroy(). See also, ExpirableObject.destroy().

Specified by:
doDestroy in class ExpirableObject

isDestroyed

public boolean isDestroyed()
Returns true, or false relative to whether, or not this object's doDestroy() method has been called. See also, .


For the latest news and information visit
The GNU Crypto project

Copyright © 2001, 2002, 2003 Free Software Foundation, Inc. All Rights Reserved.