Guid.NewGuid Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menginisialisasi instans Guid baru struktur.
public:
static Guid NewGuid();
public static Guid NewGuid ();
static member NewGuid : unit -> Guid
Public Shared Function NewGuid () As Guid
Mengembalikan
Objek GUID baru.
Contoh
Contoh kode berikut membuat dan menampilkan nilai dua Guid objek.
// 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
'
Keterangan
Ini adalah metode mudah static
yang dapat Anda panggil untuk mendapatkan yang baru Guid. Metode ini membuat Versi 4 Universally Unique Identifier (UUID) seperti yang dijelaskan dalam RFC 4122, Sec. 4.4. Yang dikembalikan dijamin Guid tidak sama dengan Guid.Empty.
Di Windows, fungsi ini membungkus panggilan ke fungsi CoCreateGuid . GUID yang dihasilkan berisi 122 bit entropi yang kuat.
Pada platform non-Windows, dimulai dengan .NET 6, fungsi ini memanggil generator angka pseudo-random (CSPRNG) pseudo-random yang mendasar OS untuk menghasilkan 122 bit entropi yang kuat. Dalam versi .NET sebelumnya, entropi tidak dijamin dihasilkan oleh CSPRNG.
Disarankan agar aplikasi tidak menggunakan metode NewGuid untuk tujuan kriptografi. Pertama, karena UUID Versi 4 memiliki pola bit yang dapat diprediksi sebagian, fungsi NewGuid tidak dapat berfungsi sebagai fungsi pseudo-random kriptografi (PRF) yang tepat. Jika output NewGuid diberikan ke komponen kriptografi yang mengharuskan inputnya dihasilkan oleh PRF yang tepat, komponen kriptografi mungkin tidak dapat mempertahankan properti keamanannya. Kedua, NewGuid menggunakan paling banyak entropi 122 bit, terlepas dari platform. Beberapa komponen kriptografi menetapkan tingkat entropi minimum pada input mereka sebagai masalah kebijakan. Kebijakan tersebut sering menetapkan tingkat entropi minimum pada 128 bit atau lebih tinggi. Meneruskan output NewGuid ke rutinitas seperti itu dapat melanggar kebijakannya.
Jika aplikasi memerlukan data acak untuk tujuan kriptografi, pertimbangkan untuk menggunakan metode statis pada RandomNumberGenerator kelas . Kelas itu menyediakan generator angka acak yang cocok untuk penggunaan kriptografi.