Für Menschen · Seien Sie begeistert und Sie werden begeistern !
Ich verwende GUIDs in einem meiner größten Projekte und habe damit sehr gute Erfahrungen gemacht. Immer wieder kommt die Frage, was ist ein GUID überhaupt, deshalb nun hier eine kleine Erläuterung. Ebenso verwende ich ein GUID als Schlüssel im Plugin ©Feed um dem Feed einen eindeutigen String zuzufügen und damit nach Contentdiebstahl zu suchen.
Ein Globally Unique Identifier (GUID) bzw. ein Universally Unique Identifier (UUID) ist eine global eindeutige Zahl, die in verteilten Computersystemen zum Einsatz kommt.
GUID, auch bekannt als UUID - Universally Unique Identifier - ist 128 Bit lang (32 Zeichen, besteht aus einer 16-Byte-Zahl), feste Größe und ist weltweit gültig für einen Registrierungsprozess. Es wird keine zentralisierte Berechtigung angefordert, um GUIDs zu erzeugen, deshalb kann die Erzeugung vollständig automatisiert werden.
Jede GUID ist praktisch einmalig. Die Wahrscheinlichkeit, dass zwei gleiche GUIDs erzeugt werden, ist sehr gering.
Die interne Darstellung eines UUID ist eine spezifische Sequence der Bits im Speicher. Die korrekte Darstellung des UUID als URN oder als menschliche lesbare Zeichenkette macht es erforderlich, die Bit-Sequence in einen String zu wandeln.
Jedes GUID wird als Integer (Ganzzahl) behandelt und mit Nullen aufgefüllt, zu einer hexadezimalen Zeichenkette. Die hexadezimalen Werte „a“ bis „f“ werden als Kleinbuchstaben ausgeben und sind nicht Case-Sensitive, sind also von Groß- und Kleinschreibung unabhängig.
UUID = time-low "-" time-mid "-"
time-high-and-version "-"
clock-seq-and-reserved
clock-seq-low "-" node
time-low = 4hexOctet
time-mid = 2hexOctet
time-high-and-version = 2hexOctet
clock-seq-and-reserved = hexOctet
clock-seq-low = hexOctet
node = 6hexOctet
hexOctet = hexDigit hexDigit
hexDigit = "0" / "1" / "2" / "3" / "4" / "5" / "6" / "7" / "8" / "9" /
"a" / "b" / "c" / "d" / "e" / "f" /
"A" / "B" / "C" / "D" / "E" / "F"
urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6
1bdf546c46bb3b4ce14d52ceecf5e99f
Einfache Lösung mit Funktion unigid, die allerdings keinen Zufallsanteil besitzt.
md5 (uniqid (""));
Deshalb ist die Erzeugung durch eine Koppelung mit Funktion rand wesentlich besser.
md5 (uniqid (rand()));
bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.
Das Weblog wird angetrieben von WordPress und aktuell gibt es 980 Beiträge, 18722 Kommentare in 14 Kategorien und 464 Tags.
Das Blog wird liebevoll mit xHTML & CSS in Handarbeit gestaltet. Erstellt mit ♥ zum Befüllen und Erhalten.
Design und Code ist unter Copyright
© 2001 - 2012 bueltge.de [by:ltge.de]
27. März 2007 um 21:06
128 Bit oder 32 Zeichen? Irgendwas kann da nicht stimmen - bei 8 Bit pro Zeichen (also z.B. ISO-8859-x) wären 128 Bit 16 Zeichen oder entsprechend 32 Zeichen 256 Bit... Der gleiche Fehler steht in der MSDN aber auch, hab den Link leider grade nicht da...
28. März 2007 um 12:47
Ein GUID besteht aus einer 16-Byte-Zahl (0-F), also 16Bit pro Zeichen. Vielleicht sollte ich das noch hinzubringen.
19. Juli 2008 um 11:43
Und für diejenigen, die einfach eine GUID benötigen, um eine DLL oder sonst was zu kennzeichnen, hier kann man seinen persönlichen GUID abholen:
http://createguid.com