Sdílet prostřednictvím


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 nový Guid. Metoda vytvoří identifikátor UUID (Universally Unique Identifier) verze 4, jak je popsáno v dokumentu RFC 4122, s. 4.4. Guid Vrácená hodnota se zaručuje, že se nebude rovna Guid.Empty.

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

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

Doporučuje se, aby aplikace pro kryptografické účely nepoužít metodu NewGuid . Zaprvé, protože UUID verze 4 má částečně předvídatelný bitový vzor, nemůže funkce NewGuid sloužit jako správná kryptografická pseudonáhodná funkce (PRF). Pokud je výstup NewGuid předán kryptografické komponentě, která vyžaduje, aby její vstup byl generován správným PRF, kryptografická komponenta nemusí být schopna zachovat své 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 svých vstupech jako součást zásad. Tyto zásady často nastavují minimální úroveň entropie na 128 bitů nebo vyšší. Předání výstupu NewGuid do takové rutiny může narušit jeho zásady.

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

Platí pro