Guid.NewGuid Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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í.