Nyelv

Guid.NewGuid Metódus

Definíció

Inicializálja a struktúra új példányát Guid .

public:
 static Guid NewGuid();
public static Guid NewGuid();
static member NewGuid : unit -> Guid
Public Shared Function NewGuid () As Guid

Válaszok

Új GUID-objektum.

Példák

Az alábbi példakód két Guid objektum értékeit hozza létre és jeleníti meg.

// 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
'

Megjegyzések

Ez egy kényelmes static módszer, amelyet meghívhat egy új Guid. A metódus létrehoz egy 4-es verziójú univerzálisan egyedi azonosítót (UUID) az RFC 4122, 4.4. A visszaadott Guid érték garantáltan nem egyenlő Guid.Empty.

A Windows ez a függvény a CoCreateGuid függvény hívását csomagolja. A generált GUID 122 bit erős entrópiát tartalmaz.

A nem Windows platformokon a 6. .NET kezdve ez a függvény meghívja az operációs rendszer mögöttes kriptográfiailag biztonságos pszeudo-véletlenszerű számgenerátorát (CSPRNG), hogy 122 bit erős entrópiát generáljon. A .NET korábbi verzióiban az entrópia nem garantáltan CSPRNG-sel jön létre.

Javasoljuk, hogy az alkalmazások ne használják a NewGuid metódust titkosítási célokra. Először is, mivel a 4-es verziójú UUID részben kiszámítható bitmintával rendelkezik, a NewGuid függvény nem szolgálhat megfelelő titkosítási pszeudo-véletlenszerű függvényként (PRF). Ha a NewGuid kimenetét olyan kriptográfiai összetevő kapja meg, amely megköveteli, hogy a bemenetét egy megfelelő PRF hozza létre, előfordulhat, hogy a titkosítási összetevő nem tudja fenntartani a biztonsági tulajdonságait. Másodszor, a NewGuid platformtól függetlenül legfeljebb 122 bit entrópiát használ. Egyes titkosítási összetevők minimális entrópiaszintet határoznak meg a bemeneteiken szabályzatként. Az ilyen szabályzatok gyakran 128 bites vagy annál magasabb minimális entrópiaszintet határoznak meg. A NewGuid kimenetének átadása egy ilyen rutinba sértheti a szabályzatát.

Ha egy alkalmazás titkosítási célból véletlenszerű adatokat igényel, fontolja meg egy statikus módszer használatát az RandomNumberGenerator osztályon. Ez az osztály egy véletlenszerű számgenerátort biztosít, amely alkalmas titkosítási használatra.

A következőre érvényes: