2015-09-16 5 views

Antwort

5

Hier ist die Klasse der Beschreibung UUID

UUID ist eine unveränderliche Darstellung eines 128-Bit universell eindeutigen Identifikator (UUID).

Es gibt mehrere Variantenlayouts von UUIDs, aber diese Klasse basiert auf der Variante 2 von RFC 4122, der Leach-Salz-Variante. Diese Klasse kann verwendet werden, um alternative Varianten zu modellieren, aber die meisten Methoden werden in diesen Fällen nicht unterstützt. Weitere Informationen finden Sie in den einzelnen Methoden. So

wenn Sie nameUUIDFromBytes (byte[] name) rufen, wird es an UUID instance zurück, die ist wiederum eine unveränderliche Darstellung einer 128bit universell eindeutige Kennung.

Dies bedeutet, dass das Byte nun in eine eindeutige Kennung umgewandelt wird und nicht in das ursprüngliche Byte reversibel ist.

Was ist der Zweck von Hash-Bytes und warum möchten Sie es umkehren? Wenn Sie das in Ihrer Frage angeben, werde ich diesen Beitrag bearbeiten, um weitere Hilfe zu geben. Aber für jetzt ist dies die Antwort.

+1

Es war ein schlechter Vorschlag von jemandem. Danke für deine Antwort. – andymal

-4

Stellen Sie sich dieses:

UUID uuid = UUID.nameUUIDFromBytes(byte[]); 

Zur Umrechnung auf eine String es ist einfach, benutzen Sie einfach die toString() Methode:

String original = uuid.toString(); 
+2

Das gibt Ihnen nicht den Namen. – chrylis

+0

String vor der Konvertierung = 000059dba6073a0000000b40411988 UUID = bfab57e7-d89c-300a-9934-64060b959736 UUID.toString = bfab57e7-d89c-300a-9934-64060b959736 – andymal

+0

Das wird nicht funktionieren. Tatsächlich wird uuid.toString() eine unveränderliche Zeichenfolge zurückgeben. –

2

namensbasierte UUID verwenden, um eine Hash-Funktion eine Eingabezeichenfolge zur Karte auf eine feste Anzahl von Bits. Hash-Funktionen sind verlustbehaftet und nicht generell reversibel.

Verwandte Themen