Guid.NewGuid Methode

Definition

Initialisiert eine neue Instanz der Guid Struktur.

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

Gibt zurück

Ein neues GUID-Objekt.

Beispiele

Im folgenden Codebeispiel werden die Werte von zwei Guid Objekten erstellt und angezeigt.

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

Hinweise

Dies ist eine bequeme static Methode, die Sie aufrufen können, um eine neue Guidabzurufen. Die Methode erstellt eine Version 4 Universally Unique Identifier (UUID), wie in RFC 4122, Sec. 4.4 beschrieben. Die zurückgegebene Guid ist garantiert nicht gleich Guid.Empty.

Bei Windows umschließt diese Funktion einen Aufruf der Funktion CoCreateGuid. Die generierte GUID enthält 122 Bit starke Entropie.

Auf Nicht-Windows-Plattformen ruft diese Funktion ab .NET 6 den zugrunde liegenden kryptografisch sicheren Pseudozahlengenerator (CSPRNG) auf, um 122 Bit starke Entropie zu generieren. In früheren Versionen von .NET wird die Entropie nicht garantiert von einem CSPRNG generiert.

Es wird empfohlen, dass Anwendungen dieNewGuid-Methode nicht für kryptografische Zwecke verwenden. Da eine Version 4 UUID ein teilweise vorhersagbares Bitmuster aufweist, kann die NewGuid-Funktion nicht als richtige kryptografische Pseudo-Zufallsfunktion (PRF) dienen. Wenn die Ausgabe von NewGuid an eine kryptografische Komponente übergeben wird, für die ihre Eingabe durch eine ordnungsgemäße PRF generiert werden muss, kann die kryptografische Komponente ihre Sicherheitseigenschaften möglicherweise nicht verwalten. Zweitens verwendet NewGuid höchstens 122 Bits von Entropie, unabhängig von der Plattform. Einige kryptografische Komponenten legen eine minimale Entropiestufe für ihre Eingaben als Eine Frage der Richtlinie fest. Solche Richtlinien legen häufig die minimale Entropiestufe auf 128 Bit oder höher fest. Die Ausgabe von NewGuid an eine solche Routine zu übergeben, kann gegen ihre Richtlinie verstoßen.

Wenn eine Anwendung zufällige Daten für kryptografische Zwecke benötigt, sollten Sie eine statische Methode für die RandomNumberGenerator Klasse verwenden. Diese Klasse stellt einen Zufallszahlengenerator bereit, der für die kryptografische Verwendung geeignet ist.

Gilt für: