2009-02-20 4 views

Antwort

2

Ich weiß nicht, ob es ein Kommandozeilen-Tool zur Verfügung steht, aber man könnte einfach ein in C# schreiben (es sollte mit Mono laufen):

class Program 
{ 
    static void Main(string[] args) 
    { 
     Console.WriteLine(System.Guid.NewGuid().ToString()); 
    } 
} 

Sie können ganz einfach das Programm ändern zu ändern Formatierung der GUID, kopieren Sie es in die Zwischenablage oder was auch immer Sie brauchen.

+0

Nun muss ich sicher sein, sie den gleichen Algorithmus verwenden, um die GUID zu generieren , und da Mono nicht offiziell MS ist, weiß ich nicht, ob sie den gleichen Algorithmus verwenden, haben Sie irgendwelche Angaben dazu? –

+0

Mono verwendet wahrscheinlich eine andere Implementierung, aber Sie können das Tool mit Mono unter Windows und Unix/Linux ausführen. Nur weil ich neugierig bin: Warum brauchen Sie auf beiden Plattformen den gleichen Algorithmus? Die GUID wird weiterhin eindeutig sein, da ein Feld in der GUID den verwendeten Algorithmus angibt. –

+2

Die ganze Idee einer GUID ist, dass sie global einzigartig ist, wenn der Algorithmus und der Zufallszahlengenerator auf dem gleichen Niveau sind. Ich denke, dass Sie mit verschiedenen Algorithmen sicher sind, die GUIDs erzeugen. – Wedge

0

Es gibt Tonnen von online apps, es zu tun.

Wenn Sie PHP verwenden, können Sie die uniqid-Funktion verwenden.

Ich fand ein reines Java-Programm, um es bei http://jug.safehaus.org/ zu tun. Das sollte überall funktionieren, wo Sie Java installieren können.

2

Etwas nützlich wissen:

Die Byte-Reihenfolge der Guid.ToByteArray() in C# und dem SQL Server-GUID-Typ ist:

 { 3, 2, 1, 0, 5, 4, 7, 6, 8, 9, 10, 11, 12, 13, 14, 15 }; 

Ein Oracle-GUID SYS_GUID() erstellt und gespeichert als RAW [16] wird bestellt:

 { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; 

du online GUID converter praktisch finden. Ich bin nicht sicher, ob die Quelle für Ihren eigenen Gebrauch verfügbar ist, aber es sollte nicht zu schwer sein, es herauszufinden.

+0

Sollte die String-Darstellung nicht gleich sein, unabhängig von der zugrunde liegenden Byte-Reihenfolge? – Joey

+0

Ja, aber dies ist nur ein nützlicher Tipp, falls Sie jemals mit einer GUID in Byte-Reihenfolge umgehen müssen. – crb

0

In Windows XP können Sie Folgendes im Befehlsfenster verwenden.

uuidgen.exe 
+1

'Uuidgen' ist nicht standardmäßig in Windows verfügbar; Es ist Teil des Platform SDK/Windows SDK. – Helen

29

'e2fsprogs' Projekt halten uuidgen Dienstprogramm.

http://e2fsprogs.sourceforge.net/

Es ist bereits auf jedem Linux/BSD * distros.

Für Windows empfehle ich Cygwin, 'e2fsprogs' Paket von dort zu installieren!

Als Bericht j4y ist dieses Dienstprogramm unter MAC OS verfügbar.

gerade laufen:

 
    $ uuidgen -r # random based UUID/GUID 
    $ uuidgen -t # time based UUID/GUID 
+5

funktioniert auch auf OSX Lion, aber ohne Parameter. – j4y

+0

@ j4y. Danke für die Information! – gavenkoa

+1

Cygwin-Paket ist "util-linux" [Paket-Liste] (http://www.cygwin.com/cgi-bin2/package-cat.cgi?file=x86%2Futil-linux%2Futil-linux-2.21.2- 1 & grep = uuidgen) Der Befehl funktioniert auch ohne Parameter in cygwin. –