Guid.NewGuid Methode

Definitie

Initialiseert een nieuw exemplaar van de Guid structuur.

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

Retouren

Een nieuw GUID-object.

Voorbeelden

In het volgende codevoorbeeld worden de waarden van twee Guid objecten gemaakt en weergegeven.

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

Opmerkingen

Dit is een handige static methode die u kunt aanroepen om een nieuwe Guidte krijgen. De methode maakt een UUID (Universally Unique Identifier) van versie 4, zoals beschreven in RFC 4122, sec. 4.4. De geretourneerde Guid waarde is gegarandeerd niet gelijk Guid.Emptyaan .

In Windows verpakt deze functie een aanroep naar de functie CoCreateGuid. De gegenereerde GUID bevat 122 bits sterke entropie.

Op niet-Windows platforms, te beginnen met .NET 6, roept deze functie de onderliggende cryptografisch veilige pseudo-willekeurige getalgenerator (CSPRNG) van het besturingssysteem aan om 122 bits van sterke entropie te genereren. In eerdere versies van .NET wordt de entropie niet gegarandeerd gegenereerd door een CSPRNG.

Het wordt aanbevolen dat toepassingen de Methode NewGuidniet gebruiken voor cryptografische doeleinden. Ten eerste, omdat een UUID van versie 4 een gedeeltelijk voorspelbaar bitpatroon heeft, kan de functie NewGuid niet fungeren als een juiste cryptografische pseudo-willekeurige functie (PRF). Als de uitvoer van NewGuid wordt gegeven aan een cryptografisch onderdeel waarvoor de invoer moet worden gegenereerd door een juiste PRF, kan het cryptografische onderdeel mogelijk de beveiligingseigenschappen niet behouden. Ten tweede maakt NewGuid gebruik van maximaal 122 bits entropie, ongeacht het platform. Sommige cryptografische onderdelen stellen een minimum-entropieniveau in op hun invoer als onderdeel van het beleid. Dergelijke beleidsregels stellen vaak het minimum-entropieniveau in op 128 bits of hoger. Het doorgeven van de uitvoer van NewGuid aan een dergelijke routine kan het beleid schenden.

Als voor een toepassing willekeurige gegevens zijn vereist voor cryptografische doeleinden, kunt u overwegen om een statische methode in de RandomNumberGenerator klasse te gebruiken. Deze klasse biedt een generator voor willekeurige getallen die geschikt is voor cryptografisch gebruik.

Van toepassing op