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

Guid

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 ein neues 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, dass sie nicht gleich Guid.Emptyist.

In Windows umschließt diese Funktion einen Aufruf an die CoCreateGuid-Funktion . Die generierte GUID enthält 122 Bit starke Entropie.

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

Es wird empfohlen, dass Anwendungen die NewGuid-Methode nicht für kryptografische Zwecke verwenden. Da eine Version 4 UUID ein teilweise vorhersehbares Bitmuster aufweist, kann die NewGuid-Funktion nicht als richtige kryptografische Pseudo-Zufällige Funktion (PRF) dienen. Wenn die Ausgabe von NewGuid einer kryptografischen Komponente zugewiesen wird, die die Eingabe erfordert, die von einem ordnungsgemäßen PRF generiert werden muss, kann die kryptografische Komponente ihre Sicherheitseigenschaften möglicherweise nicht beibehalten. Zweitens nutzt NewGuid die meisten 122 Bit von Entropie, unabhängig von der Plattform. Einige kryptografische Komponenten legen eine mindeste Entropieebene für ihre Eingaben als Eine Frage der Richtlinie 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 ihre Richtlinie verletzen.

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 bietet einen Zufallszahlengenerator, der für kryptografische Verwendung geeignet ist.

Gilt für: