Guid.NewGuid Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Yapının yeni bir örneğini Guid başlatır.
public:
static Guid NewGuid();
public static Guid NewGuid();
static member NewGuid : unit -> Guid
Public Shared Function NewGuid () As Guid
Döndürülenler
Yeni bir GUID nesnesi.
Örnekler
Aşağıdaki kod örneği, iki Guid nesnenin değerlerini oluşturur ve görüntüler.
// 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
'
Açıklamalar
Bu, yeni staticbir almak için çağırabileceğiniz kullanışlı Guid bir yöntemdir. yöntemi RFC 4122, Sn. 4.4'te açıklandığı gibi Bir Sürüm 4 Evrensel Benzersiz Tanımlayıcı (UUID) oluşturur. Döndürülen Guid değerin eşit Guid.Emptyolmadığı garanti edilir.
Windows bu işlev bir çağrıyı CoCreateGuid işlevine sarmalar. Oluşturulan GUID 122 bit güçlü entropi içeriyor.
Windows olmayan platformlarda, .NET 6'dan başlayarak bu işlev, 122 bit güçlü entropi oluşturmak için işletim sisteminin temel alınan kriptografik güvenli sahte rastgele sayı oluşturucuyu (CSPRNG) çağırır. .NET önceki sürümlerinde, entropinin bir CSPRNG tarafından oluşturulması garanti değildir.
Uygulamaların şifreleme amacıyla NewGuid yöntemini kullanmaması önerilir. İlk olarak, Sürüm 4 UUID'sinin kısmen tahmin edilebilir bir bit deseni olduğundan NewGuid işlevi düzgün bir şifreleme sözde rastgele işlevi (PRF) işlevi göremez. NewGuid'in çıkışı, girdisinin uygun bir PRF tarafından oluşturulmasını gerektiren bir şifreleme bileşenine verilirse, şifreleme bileşeni güvenlik özelliklerini koruyamayabilir. İkincisi, NewGuid platformdan bağımsız olarak en fazla 122 bit entropi kullanır. Bazı şifreleme bileşenleri, ilke olarak girişlerinde en düşük entropi düzeyini ayarlar. Bu tür ilkeler genellikle entropi düzeyini 128 bit veya üzeri olarak ayarlar. NewGuid'in çıkışını böyle bir yordama geçirmek, ilkesini ihlal edebilir.
Bir uygulama şifreleme amacıyla rastgele veri gerektiriyorsa, sınıfında statik bir yöntem RandomNumberGenerator kullanmayı göz önünde bulundurun. Bu sınıf, şifreleme kullanımına uygun rastgele bir sayı oluşturucu sağlar.