Welche Art von Daten können Sie extrahieren aus einer UUID?
Ich weiß, wir könnten leicht extrahieren Sie die uuid-version-Nummer. Gibt es eine zuverlässige Methode zum extrahieren von Informationen wie der Zeitstempel, die MAC-Adresse?
Dank!
InformationsquelleAutor der Frage Chris Frost | 2009-11-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen standard-konformen UUID kann man von mehreren Varianten, sieht es wie folgt aus:
AAAAAAAA-BBBB-CCCC-DDDD-FFFFFFFFFFFF
Den ersten (hex -) Ziffer der DDDD Teil bestimmt die Variante.
Wenn es einer von 8,9,A,B es ist gemäß der aktuellen spec
(0-7 reserviert für die rückwärts-Kompatibilität, C,D sind für Microsoft reserviert, und E,F sind für zukünftige Verwendung reserviert)
Wenn es entspricht den aktuellen spec, überprüfen Sie die erste Ziffer des CCCC Teil, der bestimmt, dass die UUID-version:
Version 4 ist einfach nach dem Zufallsprinzip ausgewählt.
Version 3 und 5 erzeugt werden, die von der Vermischung und wegwerfen einige bits, das heißt, Sie haben im Grunde keine chance, bei der Wiederherstellung von Informationen aus. Details auf, wie man es bauen kann gefunden werden in RFC4122 oder an der UUID-Generator-Webseite.
Konnte ich nicht finden, eine beliebige version 2 UUIDs, so dass ich nicht überprüfen, wie um die Daten zu extrahieren.
Version 1 erzeugt einen Zeitstempel und die aktuelle host-MAC-Adresse.
(Der standard ermöglicht auch die Verwendung einer zufälligen Adresse statt, wenn Sie den "broadcast/multicast" - bit der MAC-Adresse.)
Folgende perl-Schnitt analysiert die MAC-Adresse und der Zeit von einer version 1 uuid:
Und last but not least, gibt es mehrere zugewiesen UUIDs, zum Beispiel für GPT-Partitionen.
InformationsquelleAutor der Antwort Sec
Nicht unbedingt eine zuverlässige Methode, da je nach Art der UUID ist, es generiert werden kann, völlig aus zufälligen bits, oder werden Zeitstempel-basierte, oder auf der Grundlage der MAC-Adresse. So können Sie in der Lage zu Holen ein paar Informationen, aber Sie können nicht garantieren, dass Sie können, bekommen nichts.
In der offiziellen Referenz für diese ist RFC 4122die sollte wahrscheinlich geben Sie genügend Informationen, um Daten zu extrahieren, obwohl Sie wohl nicht darauf verlassen, dass es zu stark.
InformationsquelleAutor der Antwort Daniel Pryden
Wenn es eine version 1 UUID, die MAC-Adresse werden die letzten zwölf hexadezimalen Ziffern.
InformationsquelleAutor der Antwort James Cronen
Ich weiß, wir könnten leicht extrahieren Sie die uuid-version-Nummer. Gibt es eine zuverlässige Methode zum extrahieren von Informationen wie der Zeitstempel, die MAC-Adresse?
Ja und ja; wenn die UUID-version 1 oder version 2 (wie beschrieben in RFC 4122). Es gibt auch eine Alternative (nicht-RFC 4122) version 4, die auch als "KAMM" , umfasst einen Zeit-Stempel als auch mit zufälligen Werten, die analysiert werden kann, und das ERSTELLUNGSDATUM/Zeit ist, kann offenbart werden.
Bonus: Mahonri Moriancumer ist UUID-und GUID-Generator und Forensik.
InformationsquelleAutor der Antwort Mahonri Moriancumer
Kann man sich an die version der Uuid, aber das kann nur vertraut werden, wenn Sie sicher sind, dass die Uuid gültig ist (siehe http://tools.ietf.org/html/rfc4122). Die version wird Ihnen sagen, welche Art von Uuid, die Sie haben, und verwenden, können Sie extrahieren bestimmte bits von Informationen.
InformationsquelleAutor der Antwort Stephen Newell
Den OSSP uuid-tool Dekodieren kann UUIDs aller Versionen. Auf Debian-basierten Linux-Systemen können Sie
apt-get install uuid
um es zu installieren; für andere Distributionen das Paket name könnte anders sein.Zum decodieren einer UUID, verwenden Sie die
-d
(decode) Flagge:Version 1 UUIDs, das gibt die MAC-Adresse und timestamp -- da das ist, was in einer v1 uuid.
InformationsquelleAutor der Antwort Luc