Freigeben über


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 praktische static Methode, die Sie aufrufen können, um eine neue Guidzu erhalten. Die Methode erstellt eine Version 4 Universally Unique Identifier (UUID), wie in RFC 4122, Abschnitt 4.4 beschrieben. Das zurückgegebene Guid ist garantiert nicht gleich Guid.Empty.

Unter 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 dem Betriebssystem zugrunde liegenden kryptografisch sicheren Pseudo-Zufallszahlen-Generator (CSPRNG) auf, um 122 Bit starke Entropie zu generieren. In früheren Versionen von .NET ist nicht garantiert, dass die Entropie von einem CSPRNG generiert wird.

Es wird empfohlen, dass Anwendungen die NewGuid-Methodenicht 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 einer kryptografischen Komponente zugewiesen wird, die erfordert, dass ihre Eingabe von einer richtigen PRF generiert wird, kann die kryptografische Komponente ihre Sicherheitseigenschaften möglicherweise nicht beibehalten. Zweitens verwendet NewGuid maximal 122 Bit Entropie, unabhängig von der Plattform. Einige kryptografische Komponenten legen eine mindeste Entropieebene für ihre Eingaben als Richtliniensache fest. Solche Richtlinien legen häufig die mindeste Entropiestufe auf 128 Bit oder höher fest. Das Übergeben der Ausgabe von NewGuid an eine solche Routine 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 kryptografische Verwendung geeignet ist.

Gilt für: