DeterministicGuid Class

Provides methods for generating deterministic (version 3 and version 5) GUIDs according to RFC 4122.

public static class DeterministicGuid

Example

// Generate a GUID from a DNS name
var guid = DeterministicGuid.Create(DeterministicGuid.DnsNamespace, "example.com", DeterministicGuidVersion.Version5);
Assert.Equal(Guid.Parse("cfbff0d1-9375-5685-968c-48ce8b15ae17"), guid);

// The same input will always generate the same GUID
var guid2 = DeterministicGuid.Create(DeterministicGuid.DnsNamespace, "example.com", DeterministicGuidVersion.Version5);
Assert.Equal(guid, guid2);

Properties

NameDescription
DnsNamespaceGets the DNS namespace UUID as defined in RFC 4122.
OidNamespaceGets the ISO OID namespace UUID as defined in RFC 4122.
UrlNamespaceGets the URL namespace UUID as defined in RFC 4122.
X500NamespaceGets the X.500 Distinguished Name namespace UUID as defined in RFC 4122.

Gets the DNS namespace UUID as defined in RFC 4122.

public static Guid DnsNamespace { get; }

Property value

Guid

Gets the ISO OID namespace UUID as defined in RFC 4122.

public static Guid OidNamespace { get; }

Property value

Guid

Gets the URL namespace UUID as defined in RFC 4122.

public static Guid UrlNamespace { get; }

Property value

Guid

Gets the X.500 Distinguished Name namespace UUID as defined in RFC 4122.

public static Guid X500Namespace { get; }

Property value

Guid

Methods

NameDescription
Create(Guid, ReadOnlySpan<byte>, DeterministicGuidVersion)Creates a deterministic GUID from a namespace and name bytes using the specified version.
Create(Guid, string, DeterministicGuidVersion)Creates a deterministic GUID from a namespace and name using the specified version.

Create overloads

Create(Guid, ReadOnlySpan<byte>, DeterministicGuidVersion)

DeterministicGuid.cs

Creates a deterministic GUID from a namespace and name bytes using the specified version.

public static Guid Create(Guid @namespace, ReadOnlySpan<byte> name, DeterministicGuidVersion version)
Parameters
namespace Guid
name ReadOnlySpan<byte>
version DeterministicGuidVersion
Returns

Guid

Create(Guid, string, DeterministicGuidVersion)

DeterministicGuid.cs

Creates a deterministic GUID from a namespace and name using the specified version.

public static Guid Create(Guid @namespace, string name, DeterministicGuidVersion version)
Parameters
namespace Guid
name string
version DeterministicGuidVersion
Returns

Guid