Guid.NewGuid Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 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.