DaanV2.UUID.Net 2.4.0

dotnet add package DaanV2.UUID.Net --version 2.4.0                
NuGet\Install-Package DaanV2.UUID.Net -Version 2.4.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DaanV2.UUID.Net" Version="2.4.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DaanV2.UUID.Net --version 2.4.0                
#r "nuget: DaanV2.UUID.Net, 2.4.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DaanV2.UUID.Net as a Cake Addin
#addin nuget:?package=DaanV2.UUID.Net&version=2.4.0

// Install DaanV2.UUID.Net as a Cake Tool
#tool nuget:?package=DaanV2.UUID.Net&version=2.4.0                

DaanV2.UUID.Net

.NET Unit test 📦 Nuget Release
Nuget Version Nuget Downloads

A library that provides a way to handle and generate UUIDs. Convert them to and from strings, GUIDs, and the like. The library is written to be fast and efficient when comparing, generating, or handling operations. Provides ways to generate UUIDs from different data, like a string, a byte array, or cutting up a byte array into UUIDs. Complies with the RFC 4122 standard. And has version 1-8 UUIDs implemented. except 2. Which I haven't been able to figure out how to implement.

Usage Example

Below are two examples of generating UUIDs and usage

Generating UUIDs

Most versions of UUIDs can be generated using the static methods in the DaanV2.UUID.V4 or other respective classes. Since most of the UUIDs are generated from different data, different overloads are available.

//Single UUID
var uuid = DaanV2.UUID.V4.Generate();
uuid = DaanV2.UUID.V1.Generate();

//Batch of UUIDs
var uuids = DaanV2.UUID.V4.Batch(1000);

//Chunk an byte array into UUIDs
Byte[] data = ...
var uuids = DaanV2.UUID.V4.Batch(data);

Supported Version

Version Variant Description
1 1 A UUID generated from a timestamp and the mac address
3 1 A UUID generated from a string using MD5 hashing bits, 122 bits
4 1 A randomly generated UUID of 122 bits
5 1 A UUID generated from a string using SHA1 hashing bits, 122 bits
6 1 A UUID that is reordered Gregorian time-based UUID specified in this document. Its an upgrade from V1 for databases
7 1 A UUID version that exposes Unix Epoch time-based UUID specified in this document. Same like V1, V6 but on UTC
8 1 A UUID version that allows for custom data of 122 bits of data

Benchmarks

See Benchmark reports

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  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 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net7.0

    • No dependencies.
  • net8.0

    • No dependencies.
  • net9.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on DaanV2.UUID.Net:

Package Downloads
MiniJoyApp

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.