Guid.NewGuid Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Initialise une nouvelle instance de la Guid structure.
public:
static Guid NewGuid();
public static Guid NewGuid();
static member NewGuid : unit -> Guid
Public Shared Function NewGuid () As Guid
Retours
Nouvel objet GUID.
Exemples
L’exemple de code suivant crée et affiche les valeurs de deux Guid objets.
// 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
'
Remarques
Il s’agit d’une méthode pratique static que vous pouvez appeler pour obtenir un nouveau Guid. La méthode crée un identificateur UUID (Universally Unique Identifier) version 4, comme décrit dans RFC 4122, sec. 4.4. Le retour Guid est garanti qu’il n’est pas égal Guid.Emptyà .
Sur Windows, cette fonction encapsule un appel à la fonction CoCreateGuid. Le GUID généré contient 122 bits d’entropie forte.
Sur les plateformes non Windows, à partir de .NET 6, cette fonction appelle le générateur de nombres pseudo-aléatoires (CSPRNG) sous-jacent du système d'exploitation pour générer 122 bits d'entropie forte. Dans les versions précédentes de .NET, l’entropie n’est pas garantie d’être générée par un CSPRNG.
Il est recommandé que les applications n’utilisent pas la méthode NewGuid à des fins de chiffrement. Tout d’abord, étant donné qu’un UUID version 4 a un modèle de bits partiellement prévisible, la fonction NewGuid ne peut pas servir de fonction pseudo-aléatoire de chiffrement appropriée (PRF). Si la sortie de NewGuid est donnée à un composant de chiffrement qui exige que son entrée soit générée par une prF appropriée, le composant de chiffrement peut ne pas être en mesure de maintenir ses propriétés de sécurité. Deuxièmement, NewGuid utilise au maximum 122 bits d’entropie, quelle que soit la plateforme. Certains composants de chiffrement définissent un niveau d’entropie minimal sur leurs entrées en tant que question de stratégie. Ces stratégies définissent souvent le niveau minimal d’entropie à 128 bits ou plus. Le passage de la sortie de NewGuid à une telle routine peut violer sa stratégie.
Si une application requiert des données aléatoires à des fins de chiffrement, envisagez d’utiliser une méthode statique sur la RandomNumberGenerator classe. Cette classe fournit un générateur de nombres aléatoires adapté à l’utilisation de chiffrement.