de.jsystems.framework.common
Class RandomID

java.lang.Object
  extended byde.jsystems.framework.common.RandomID

public final class RandomID
extends Object

Diese Klasse erzeugt eine eindeutige ID. Diese ID eignet sich auch für kryptografische Zwecke, da sie mit der Klasse SecureRandom arbeitet zum erzeugen des Startwertes für die Klasse Random. Mit dieser Klasse werden dann die Zufallszahlen erzeugt. Durch das Initialisieren der Klasse Random mit einer Zufallszahl aus der Klasse SecurRandom werden die Zufallszahlen der Klasse Random von der Systemzeit entkoppelt. Zusätzlich wird noch die Systemzeit in Millisekunden und die IP-Adresse des Rechners benutzt. Diese drei Werte werden dann mit einem MD5-Algorithmus bearbeitet, der aus den drei Zahlen ein Bytearray formt. Aus diesem lassen sich keine Rückschlüsse mehr auf die ursprünglichen Zahlen ziehen. Darüber hinaus ist die so erzeugte Zahl ziemlich eindeutig. Dieses Array wird dann in Hex-Zahlen umgewandelt und an einen StringBuffer übergeben. Mit Hilfe eines weiteren StringBuffers wird dann die endgültige ID formatiert. Diese hat das folgende aussehen: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.

Version:
1.0
Copyright by Jens Homm 2001 - 2003
Author:
Jens Homm JSYSTEMS

Method Summary
 String getID()
          Gibt eine eindeutige ID zurück.
static RandomID getInstance()
          Gibt eine Instanz dieser Klasse zurück.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static RandomID getInstance()
Gibt eine Instanz dieser Klasse zurück. Das holen der Instanz ist Threadsicher.

Returns:
Die einzige Instanz der Klasse RandomID.

getID

public String getID()
Gibt eine eindeutige ID zurück. Die ID bassiert auf der aktuellen Systemzeit in Millisekunden, einer grossen Zufallszahl und der URL(Name/IP). Die ID hat das folgende aussehen: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.

Returns:
Eine eindeutige ID.