Guid.NewGuid Metoda

Definice

Inicializuje novou instanci Guid struktury.

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

Návraty

Nový objekt GUID.

Příklady

Následující příklad kódu vytvoří a zobrazí hodnoty dvou Guid objektů.

// 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
'

Poznámky

Jedná se o pohodlnou static metodu, kterou můžete volat, abyste získali novou Guid. Metoda vytvoří identifikátor UUID (Universally Unique Identifier) verze 4, jak je popsáno v dokumentu RFC 4122, s. 4.4. Vrácené Guid je zaručeno, že se nerovná Guid.Empty.

Na Windows tato funkce zabalí volání funkce CoCreateGuid. Vygenerovaný identifikátor GUID obsahuje 122 bitů silné entropie.

Na platformách, které nejsou Windows, počínaje .NET 6, tato funkce volá základní kryptograficky zabezpečený kryptografický generátor pseudonáhodných čísel (CSPRNG) operačního systému k vygenerování 122 bitů silné entropie. V předchozích verzích .NET není zaručeno, že entropie bude generována CSPRNG.

Doporučuje se, aby aplikace pro kryptografické účely nepoužíly metodu NewGuid . Za prvé, protože UUID verze 4 má částečně předvídatelný bitový vzor, funkce NewGuid nemůže sloužit jako správná kryptografická pseudonáhodná funkce (PRF). Pokud je výstup NewGuid předán kryptografické komponentě, která vyžaduje, aby byl jeho vstup generován správným PRF, kryptografická komponenta nemusí být schopna udržovat vlastnosti zabezpečení. Za druhé, NewGuid využívá maximálně 122 bitů entropie bez ohledu na platformu. Některé kryptografické komponenty nastavují minimální úroveň entropie na jejich vstupech v rámci zásad. Tyto zásady často nastavují minimální úroveň entropie na 128 bitů nebo vyšší. Předání výstupu NewGuid takové rutině může narušit jeho zásady.

Pokud aplikace vyžaduje náhodná data pro kryptografické účely, zvažte použití statické metody ve RandomNumberGenerator třídě. Tato třída poskytuje generátor náhodných čísel vhodný pro kryptografické použití.

Platí pro