TensionDev.UUID is a .NET library that supports multiple UUID versions (v1, v3, v4, v5, v6, v7) with strict RFC compliance.
$ dotnet add package TensionDev.UUIDTensionDev.UUID is a .NET library for working with Universally Unique Identifiers (UUIDs). This project references the following documents for implementation.
ToGuid() and FromGuid(Guid)ToByteArray() and FromBytes(byte[])ToVariant1, ToVariant2)Parse(string)TryParse(string, out Uuid)N, D, B, P (same as System.Guid)==, !=, <, >, <=, >=dotnet add package TensionDev.UUID
using TensionDev.UUID;
Uuid uuid = UUIDv1.NewUUIDv1();
Console.WriteLine(uuid); // Example: 164a714c-0c79-11ec-82a8-0242ac130003
using TensionDev.UUID;
Uuid uuid = UUIDv4.NewUUIDv4();
Console.WriteLine(uuid); // Example: 550e8400-e29b-41d4-a716-446655440000
using TensionDev.UUID;
Uuid uuid = UUIDv5.NewUUIDv5(UUIDNamespace.URL, "https://www.contoso.com");
Console.WriteLine(uuid); // Example: 1bf6935b-49e6-54cf-a9c8-51fb21c41b46
using TensionDev.UUID;
bool isValid = Uuid.TryParse("550e8400-e29b-41d4-a716-446655440000", out var parsed);
using TensionDev.UUID;
byte[] bytes = uuid.ToByteArray();
Uuid fromBytes = Uuid.FromBytes(bytes);
using TensionDev.UUID;
Console.WriteLine(uuid.ToString("N")); // 32 hex digits
Console.WriteLine(uuid.ToString("D")); // canonical form
Console.WriteLine(uuid.ToString("B")); // with braces
Console.WriteLine(uuid.ToString("P")); // with parentheses