Cayd.Uuid
1.0.0
dotnet add package Cayd.Uuid --version 1.0.0
NuGet\Install-Package Cayd.Uuid -Version 1.0.0
<PackageReference Include="Cayd.Uuid" Version="1.0.0" />
<PackageVersion Include="Cayd.Uuid" Version="1.0.0" />
<PackageReference Include="Cayd.Uuid" />
paket add Cayd.Uuid --version 1.0.0
#r "nuget: Cayd.Uuid, 1.0.0"
#:package Cayd.Uuid@1.0.0
#addin nuget:?package=Cayd.Uuid&version=1.0.0
#tool nuget:?package=Cayd.Uuid&version=1.0.0
About
Cayd.Uuid is a library containing static classes to generate System.Guid types following all versions of UUID defined in RFC 9562.
Quick Start
After installing the package, you can generate System.Guid by using the static Uuid class in the library. This class includes all versions of UUID.
A few examples of how to generate UUIDs:
using Cayd.Uuid;
Guid uuidV1 = Uuid.V1.Generate();
// UUID V2 is outside of RFC 9562's scope.
Guid uuidV3 = Uuid.V3.Generate(Uuid.V3.DnsNamespaceId, "example.com");
Guid uuidV4 = Uuid.V4.Generate();
Guid uuidV5 = Uuid.V5.Generate(Uuid.V5.UrlNamespaceId, "https://www.example.com");
Guid uuidV6 = Uuid.V6.Generate();
Guid uuidV7 = Uuid.V7.Generate();
Guid uuidV8 = Uuid.V8.Generate(myCustomData);
Which Version To Use?
It is recommended to check RFC 9562 to understand how each version generates UUIDs. For reference, V4 is the same as the default Guid.NewGuid. Starting from .Net 9, System.Guid introduces Guid.CreateVersion7, which is the same as V7.
Extras
Depending on your need, you can adjust some parameters in some versions while generating UUIDs.
- The
V1andV6classes have their own staticUseRandomNodeIdboolean variables to decide if they should use real MAC addresses of a current machine for the node bits or should use random bits. The default is set tofalse.- The default behavior of these classes is to try to retrieve a MAC address once and use it for all UUID generations. If no MAC address is found or the
UseRandomNodeIdis set totrue, they generate a random node ID. If you want to update the node bits in generated UUIDs, you can call theRefreshNodeIdin these clases to refresh their node IDs.
- The default behavior of these classes is to try to retrieve a MAC address once and use it for all UUID generations. If no MAC address is found or the
- The
Generatemethods of theV1andV6classes haveuseLockboolean parameter to decide if they should uselockto ensure uniquness of generated UUIDs in multithreading siutations. The default value isfalse. - The
Generatemethod of theV7haveoffsetparameter to adjust time bits in generated UUIDs. The default value isDateTimeOffset.UtcNow.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
-
net5.0
- No dependencies.
-
net6.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 2,903 | 7/23/2025 |
Initial release