Guid.NewGuid Metodo
In questo articolo
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Inizializza una nuova istanza della struttura Guid.
public:
static Guid NewGuid();
public static Guid NewGuid();
static member NewGuid : unit -> Guid
Public Shared Function NewGuid () As Guid
Nuovo oggetto GUID.
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
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
'
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.
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 |
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback: