Compartir vía


Guid.NewGuid Método

Definición

Inicializa una nueva instancia de la estructura Guid.

public:
 static Guid NewGuid();
public static Guid NewGuid ();
static member NewGuid : unit -> Guid
Public Shared Function NewGuid () As Guid

Devoluciones

Nuevo objeto de identificador GUID.

Ejemplos

En el ejemplo de código siguiente se crean y muestran los valores de dos Guid objetos.

// Create and display the value of two GUIDs.
Guid g = Guid.NewGuid();
Console.WriteLine(g);
Console.WriteLine(Guid.NewGuid());

// This code example produces a result similar to the following:

// 0f8fad5b-d9cb-469f-a165-70867728950e
// 7c9e6679-7425-40de-944b-e07fc1f90ae7
open System

// Create and display the value of two GUIDs.
let g = Guid.NewGuid()
printfn $"{g}"
printfn $"{Guid.NewGuid()}"

// This code example produces a result similar to the following:
//     0f8fad5b-d9cb-469f-a165-70867728950e
//     7c9e6679-7425-40de-944b-e07fc1f90ae7
' This code example demonstrates the Guid.NewGuid() method.
Class Sample
    Public Shared Sub Main()
        Dim g As Guid
        ' Create and display the value of two GUIDs.
        g = Guid.NewGuid()
        Console.WriteLine(g)
        Console.WriteLine(Guid.NewGuid())
    End Sub
End Class
'
'This code example produces the following results:
'
'0f8fad5b-d9cb-469f-a165-70867728950e
'7c9e6679-7425-40de-944b-e07fc1f90ae7
'

Comentarios

Se trata de un método práctico static al que se puede llamar para obtener un nuevo Guid. El método crea un identificador único universal (UUID) de la versión 4, tal y como se describe en RFC 4122, sec. 4.4. Se garantiza que el devuelto Guid no es igual Guid.Emptya .

En Windows, esta función ajusta una llamada a la función CoCreateGuid . El GUID generado contiene 122 bits de entropía fuerte.

En plataformas que no son de Windows, a partir de .NET 6, esta función llama al generador de números pseudoaleatorios seguro criptográficomente subyacente del sistema operativo (CSPRNG) para generar 122 bits de entropía fuerte. En versiones anteriores de .NET, no se garantiza que una CSPRNG genere la entropía.

Se recomienda que las aplicaciones no usen el método NewGuid con fines criptográficos. En primer lugar, dado que un UUID de la versión 4 tiene un patrón de bits parcialmente predecible, la función NewGuid no puede servir como una función criptográfica pseudoaleatoria (PRF) adecuada. Si la salida de NewGuid se proporciona a un componente criptográfico que requiere que una PRF adecuada genere su entrada, es posible que el componente criptográfico no pueda mantener sus propiedades de seguridad. En segundo lugar, NewGuid utiliza como máximo 122 bits de entropía, independientemente de la plataforma. Algunos componentes criptográficos establecen un nivel mínimo de entropía en sus entradas como cuestión de directiva. Estas directivas suelen establecer el nivel mínimo de entropía en 128 bits o superior. Pasar la salida de NewGuid a tal rutina puede infringir su directiva.

Si una aplicación requiere datos aleatorios para fines criptográficos, considere la posibilidad de usar un método estático en la RandomNumberGenerator clase . Esa clase proporciona un generador de números aleatorios adecuado para uso criptográfico.

Se aplica a