Guid.NewGuid Método

Definição

Inicializa uma nova instância da Guid estrutura.

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

Devoluções

Um novo objeto GUID.

Exemplos

O seguinte exemplo de código cria e exibe os valores de dois Guid objetos.

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

Observações

Este é um método conveniente static para que possa ligar para obter um novo Guid. O método cria um Identificador Universalmente Único (UUID) da Versão 4, conforme descrito no RFC 4122, Secção 4.4. O retorno Guid é garantido que não é igual Guid.Emptya .

No Windows, esta função envolve uma chamada para a função CoCreateGuid. O GUID gerado contém 122 bits de entropia forte.

Em plataformas não Windows, a partir do .NET 6, esta função chama o gerador de números pseudo-aleatórios criptograficamente seguro (CSPRNG) subjacente ao sistema operativo para gerar 122 bits de entropia forte. Em versões anteriores do .NET, a entropia não é garantida para ser gerada por um CSPRNG.

Recomenda-se que as aplicações não utilizem o método NewGuid para fins criptográficos. Primeiro, uma vez que um UUID da Versão 4 tem um padrão de bits parcialmente previsível, a função NewGuid não pode servir como uma função pseudo-aleatória (PRF) criptográfica propriamente dita. Se a saída do NewGuid for atribuída a um componente criptográfico que exige que a sua entrada seja gerada por uma PRF adequada, o componente criptográfico pode não conseguir manter as suas propriedades de segurança. Em segundo lugar, o NewGuid utiliza no máximo 122 bits de entropia, independentemente da plataforma. Alguns componentes criptográficos definem um nível mínimo de entropia nas suas entradas como uma questão de política. Tais políticas frequentemente definem o nível mínimo de entropia em 128 bits ou superior. Passar a saída do NewGuid para tal rotina pode violar a sua política.

Se uma aplicação requer dados aleatórios para fins criptográficos, considere usar um método estático na RandomNumberGenerator classe. Essa classe fornece um gerador de números aleatórios adequado para uso criptográfico.

Aplica-se a