Hay una herramienta de línea de comandos de Unix y Windows que utiliza el mismo algoritmo para crear Guid para ambas plataformas?

  • en windows se puede hacer esto con powershell así: [guid]::newguid()
InformationsquelleAutor Robert Gould | 2009-02-20

5 Comentarios

  1. 30

    ‘e2fsprogs proyecto de mantener uuidgen utilidad.

    http://e2fsprogs.sourceforge.net/

    Ya está disponible en cualquier Linux/BSD* distros.

    Para Windows me recomiendan instalar Cygwin, ‘e2fsprogs’ paquete disponible a partir de ahí!

    Como informe j4y esta utilidad está disponible en MAC OS.

    Correr:

     $ uuidgen -r # aleatorio basado UUID/GUID 
    $ uuidgen -t # tiempo basado UUID/GUID 
    
    • funciona en OSX Lion, pero sin parámetros.
    • Gracias por la info!
    • Paquete Cygwin es «util-linux» Listado de Paquetes El comando también funcionará sin parámetros en cygwin.
    • uuidgen ahora es parte de la util-linux.
  2. 3

    No sé si hay una herramienta de línea de comandos disponibles, pero usted puede simplemente escribir un programa en C# (se debe ejecutar con Mono):

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

    Usted puede modificar fácilmente el programa para cambiar el formato de la GUID, copiar en el portapapeles o lo que se adecue a su necesidad.

    • Bien, necesito estar seguro de que usar el mismo algoritmo para generar el GUID, y desde que el Mono no es oficialmente MS, no sé si utilizan el mismo algoritmo, ¿tienes alguna especificaciones acerca de esto?
    • Mono probablemente podría utilizar una aplicación diferente, pero se puede ejecutar la herramienta de uso de Mono en Windows y Unix/Linux. Sólo porque tengo curiosidad: ¿por Qué necesita el mismo algoritmo en ambas plataformas? El GUID todavía será único porque un campo en el GUID especifica el algoritmo utilizado.
    • La idea de un GUID es que es único global si el algoritmo generador de números aleatorios están a la par. Creo que estaría a salvo con diferentes algoritmos de generación de Guid.
    • Wedge hizo bien. El GUID incluye una versión marcador (que especifica el algoritmo que se utiliza). Esta hace que no hay dos Guid con diferentes algoritmo puede ser nunca el mismo. Y si el algoritmo coincide, ya está a la medida para asegurarse de que no hay dos Guid son los mismos.
  3. 3

    Algo útil saber:

    El orden de los bytes de Guid.ToByteArray() en C# y SQL Server tipo de GUID es:

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

    Oracle GUID creado mediante SYS_GUID() y se almacena como materia prima[16] se ordena:

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

    Usted puede encontrar este en línea GUID converter a mano. No estoy seguro de si la fuente está disponible para su propio uso, pero no debería ser demasiado difícil de averiguar.

    • No debería la representación de cadena ser el mismo, independientemente de subyacente de orden de bytes?
    • Sí, pero esto es sólo un consejo útil en caso de que usted nunca tendrá que lidiar con un GUID en el orden de los bytes.
  4. 0

    En Windows XP, puede utilizar el siguiente en la ventana de comandos.

    uuidgen.exe
    
    • uuidgen no está disponible fuera de la caja en Windows; es parte del SDK de la Plataforma / SDK de Windows.

Dejar respuesta

Please enter your comment!
Please enter your name here