Leggere in inglese

Condividi tramite


Guid.NewGuid Metodo

Definizione

Inizializza una nuova istanza della struttura Guid.

public static Guid NewGuid();

Restituisce

Nuovo oggetto GUID.

Esempio

Nell'esempio di codice seguente vengono creati e visualizzati i valori di due Guid oggetti .

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

Commenti

Si tratta di un metodo pratico static che è possibile chiamare per ottenere un nuovo Guid. Il metodo crea un identificatore univoco universale 4 (UUID) come descritto in RFC 4122, sec. 4.4. L'oggetto restituito Guid è garantito che non sia uguale Guid.Emptya .

In Windows questa funzione esegue il wrapping di una chiamata alla funzione CoCreateGuid . Il GUID generato contiene 122 bit di entropia avanzata.

Nelle piattaforme non Windows, a partire da .NET 6, questa funzione chiama il generatore di numeri pseudo-casuali sottostanti del sistema operativo sottostante per generare 122 bit di entropia avanzata. Nelle versioni precedenti di .NET, l'entropia non è garantito che venga generata da un CSPRNG.

È consigliabile che le applicazioni non usino il metodo NewGuid a scopo di crittografia. In primo luogo, poiché un UUID versione 4 ha un modello di bit parzialmente prevedibile, la funzione NewGuid non può fungere da funzione pseudo-casuale crittografica appropriata. Se l'output di NewGuid viene assegnato a un componente crittografico che richiede che l'input venga generato da un prf appropriato, il componente crittografico potrebbe non essere in grado di gestire le relative proprietà di sicurezza. In secondo luogo , NewGuid usa al massimo 122 bit di entropia, indipendentemente dalla piattaforma. Alcuni componenti crittografici impostano un livello di entropia minimo per i relativi input in materia di criteri. Tali criteri spesso impostano il livello di entropia minimo a 128 bit o superiore. Il passaggio dell'output di NewGuid a una routine di questo tipo può violare i criteri.

Se un'applicazione richiede dati casuali a scopo di crittografia, è consigliabile usare un metodo statico nella RandomNumberGenerator classe . Tale classe fornisce un generatore di numeri casuali adatto per l'uso crittografico.

Si applica a

Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0