Partage via


Guid.NewGuid Méthode

Définition

Initialise une nouvelle instance de la structure Guid.

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 static pratique que vous pouvez appeler pour obtenir un nouveau Guid. La méthode crée un identificateur unique universel (UUID) version 4, comme décrit dans RFC 4122, sec. 4.4. Le Guid retourné est différent de 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, à compter 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 pour ê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 de chiffrement pseudo-aléatoire (PRF) appropriée. Si la sortie de NewGuid est donnée à un composant de chiffrement qui nécessite que son entrée soit générée par un PRF approprié, 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 comme une question de stratégie. Ces stratégies définissent souvent le niveau d’entropie minimal à 128 bits ou plus. Le passage de la sortie de NewGuid à une telle routine peut violer sa stratégie.

Si une application nécessite 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é à une utilisation de chiffrement.

S’applique à