2016-07-21 56 views
0

Ich erzeuge eine UUID in der folgenden Art und WeiseKürzen eindeutige Kennungen

UUIDGenerator& generator = UUIDGenerator::defaultGenerator(); 
UUID uuid2(generator.createRandom()); 
return uuid2.toString() ; //returns f21cf9e1-feb1-4b44-9a24-11400b41d4e8 

Ich möchte wissen, ob es eine Möglichkeit, diese UUID der Verkürzung vorzugsweise 8 oder weniger Zeichen?

+0

https://blogs.msdn.microsoft.com/oldnewthing/20080627-00/?p=21823. Was Sie mit einer UUID machen dürfen, hängt natürlich davon ab, wie diese UUID definiert ist. Aber zumindest für die UUIDs, die in Microsoft GUIDs verwendet werden, können Sie sie nicht zerlegen. –

+0

Laut https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html sind Java UUIDs auch 128 Bit. Sie könnten die Ausgabe anders formatieren. –

Antwort

1

Natürlich gibt es eine Möglichkeit, es zu verkürzen.

Sie könnten einfach Teile davon abschneiden. Sie könnten es mit einem Hash-Wert versehen, der kürzere Ergebnisse generiert. Führen Sie es durch einen Komprimierungsalgorithmus aus. Und viele andere einfache, dumme Sachen.

Problem ist; es wäre keine UUID mehr.

+0

Ich weiß, dass Java kürzere Uids ausgibt. Ich frage mich, ob es eine Möglichkeit gibt, kürzere UIDs zu erzeugen –

+1

"uid"! = "Uuid". War das nur ein Tippfehler oder? –

+0

Ja, das war ein Tippfehler –