Guid.NewGuid Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Initierar en ny instans av Guid strukturen.
public:
static Guid NewGuid();
public static Guid NewGuid();
static member NewGuid : unit -> Guid
Public Shared Function NewGuid () As Guid
Returer
Ett nytt GUID-objekt.
Exempel
I följande kodexempel skapas och visas värdena för två Guid objekt.
// 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
'
Kommentarer
Det här är en praktisk static metod som du kan anropa för att hämta en ny Guid. Metoden skapar en UUID (Version 4 Universally Unique Identifier) enligt beskrivningen i RFC 4122, s. 4.4. Den returnerade Guid är garanterad att inte vara lika med Guid.Empty.
På Windows omsluter den här funktionen ett anrop till funktionen CoCreateGuid. Det genererade GUID:et innehåller 122 bitar stark entropi.
På icke-Windows plattformar, från och med .NET 6, anropar den här funktionen operativsystemets underliggande kryptografiskt säkra pseudo-slumptalsgenerator (CSPRNG) för att generera 122 bitar stark entropi. I tidigare versioner av .NET är entropi inte garanterad att genereras av en CSPRNG.
Vi rekommenderar att program inte använder Metoden NewGuid i kryptografiska syften. Eftersom en version 4 UUID har ett delvis förutsägbart bitmönster kan funktionen NewGuid inte fungera som en korrekt kryptografisk pseudo-slumpmässig funktion (PRF). Om utdata från NewGuid ges till en kryptografisk komponent som kräver att dess indata genereras av en korrekt PRF kanske den kryptografiska komponenten inte kan behålla sina säkerhetsegenskaper. För det andra använder NewGuid högst 122 bitar av entropi, oavsett plattform. Vissa kryptografiska komponenter anger en minsta entropinivå på sina indata som en principfråga. Sådana principer anger ofta den lägsta entropinivån till 128 bitar eller högre. Att skicka utdata från NewGuid till en sådan rutin kan bryta mot dess policy.
Om ett program kräver slumpmässiga data i kryptografiska syften bör du överväga att använda en statisk metod i RandomNumberGenerator klassen. Den klassen tillhandahåller en slumptalsgenerator som är lämplig för kryptografisk användning.