kerberos.net
Class Passwort

java.lang.Object
  extended bykerberos.net.Passwort

public class Passwort
extends java.lang.Object

Diese Klasse kapselt ein Passwort. Passworte sollten nicht als String gespeichert werden, da diese read-only sind, d.h. man kann die enthaltenen Zeichen nicht löschen, so dass es sein kann, dass die Zeichen unkontrolliert im Speicher stehen und sie irgendjemand lesen kann. In dieser Klasse wird im Konstruktor nur der Schlüssel aus den übergebenen Werten erzeugt und gespeichert. Das übergebene Byte-Array wird nach dem Erzeugen des Passwort-Objektes sofort zerstört.

Author:
Stephan Koops
See Also:
destroy()

Constructor Summary
Passwort(byte[] passwort)
          Erzeugt ein neues Passwort-Objekt.
Passwort(char[] passwort)
           
Passwort(java.lang.String passwort)
          Erzeugt ein Passwort-Objekt mit den Zeichen, die durch den String repräsentiert werden.
 
Method Summary
 void destroy()
           
static void destroyArray(byte[] array)
          Überschreibt alle Positionen des übergebenen Arrays mit 0, so dass die Werte des Arrays nicht mehr ausgelesen werden können.
static void destroyArray(char[] array)
          Überschreibt alle Positionen des übergebenen Arrays mit 0
 byte[] getSchlüssel()
          Gibt den MD5-Schlüssel für dieses Passwort zurück.
static byte[] toByteArray(char[] passwort)
          Wandelt ein char[] in ein byte[] um
static java.lang.String toZahl(byte[] array)
          Gibt die einzelnen Zahlen des Arrays durch Kommas getrennt als String zurück.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Passwort

public Passwort(byte[] passwort)
Erzeugt ein neues Passwort-Objekt. In diesem Objekt wird die Zeichenkette aber gar nicht gespeichert. Aus dem übergebenen Char-Array bzw. dem übergebenen Byte-Array wird der Schlüssel gleich ausgelesen und gespeichert. Das übergebene Array wird dann zerstört.

Parameters:
passwort -
See Also:
destroy()

Passwort

public Passwort(char[] passwort)
Parameters:
passwort -
See Also:
Passwort(byte[])

Passwort

public Passwort(java.lang.String passwort)
Erzeugt ein Passwort-Objekt mit den Zeichen, die durch den String repräsentiert werden. Dieser Aufruf sollte nur für Testzwecke verwendet werden, da die Zeichen in den Strings nicht explizit gelöscht werden können.

Parameters:
passwort -
See Also:
Passwort(byte[])
Method Detail

toByteArray

public static byte[] toByteArray(char[] passwort)
Wandelt ein char[] in ein byte[] um

Parameters:
passwort -

destroy

public void destroy()

destroyArray

public static void destroyArray(byte[] array)
Überschreibt alle Positionen des übergebenen Arrays mit 0, so dass die Werte des Arrays nicht mehr ausgelesen werden können.

See Also:
destroy()

destroyArray

public static void destroyArray(char[] array)
Überschreibt alle Positionen des übergebenen Arrays mit 0

See Also:
destroy()

getSchlüssel

public byte[] getSchlüssel()
                    throws PasswortDestroyedException
Gibt den MD5-Schlüssel für dieses Passwort zurück.

Throws:
java.lang.RuntimeException - Wird geworfen, wenn der Verschlüsselungsalgorithmus MD5 nicht zur Verfügung steht.
PasswortDestroyedException

toZahl

public static java.lang.String toZahl(byte[] array)
Gibt die einzelnen Zahlen des Arrays durch Kommas getrennt als String zurück.

Parameters:
array -