OpenXpdUuidLib 1.0.0
dotnet add package OpenXpdUuidLib --version 1.0.0
NuGet\Install-Package OpenXpdUuidLib -Version 1.0.0
<PackageReference Include="OpenXpdUuidLib" Version="1.0.0" />
<PackageVersion Include="OpenXpdUuidLib" Version="1.0.0" />
<PackageReference Include="OpenXpdUuidLib" />
paket add OpenXpdUuidLib --version 1.0.0
#r "nuget: OpenXpdUuidLib, 1.0.0"
#:package OpenXpdUuidLib@1.0.0
#addin nuget:?package=OpenXpdUuidLib&version=1.0.0
#tool nuget:?package=OpenXpdUuidLib&version=1.0.0
open-xpd-uuid-lib (C# Version)
A library of common functions used when creating and managing open-xpd-uuid,
a common, globally-unique name space (uuid) for Product Declarations, including HPDs and EPDs,
to help users find all environmental and health information related to a single product.
Open xPD UUID (short readable GUIDs)
open-xpd-uuid is a string that consists of 8 or 10 (8+2) alphanumeric characters and any number of dashes.
Examples:
123ABCED123ABCEDARASB21M01avbDK93S-AB-11-cc-Ll---
Canonical GUIDs
GUIDs consisting of the following characters are called canonical:
1234567890ABCDEFGHJKMNPRQRSTUVWXYZ
(L and O are not included).
Examples:
12345678ABCDEFG1123ABCEDAR
Checksums
- GUIDs that consist of 10 characters represent an 8-character GUID with an appended 2-character checksum.
- Checksums allow detection of single-character entry errors, character swaps, and most other errors.
Character Treatment
-or dash → ignoredL,l,I,i→ treated as1O,o→ treated as0(zero)
Install
Add the package via NuGet:
dotnet add package OpenXpdUuidLib
Or edit your .csproj:
<ItemGroup>
<PackageReference Include="OpenXpdUuidLib" Version="1.0.0" />
</ItemGroup>
Supported Versions
- .NET Standard 2.0 (for compatibility with .NET Framework, Xamarin, and older platforms)
- .NET 6.0 and higher
- Tested on .NET 8
Usage
Generate short readable GUID
using OpenXpdUuidLib.OpenXpdUuid;
var guid = OpenXpdUuid.Generate();
Console.WriteLine(guid); // e.g. "JKGEE5PN"
Generate short readable GUID with prefix
var guid = OpenXpdUuid.Generate("CQD");
Console.WriteLine(guid); // e.g. "CQD55PG0"
Sanitize short readable GUIDs
Use Sanitize to replace ambiguous characters (0, o, O, 1, L, l, I, i) with correct ones
and remove dashes (-).
var guid = OpenXpdUuid.Sanitize("as-b2-lm-oL");
Console.WriteLine(guid); // "ASB21M01"
Validate short readable GUID
Validate ensures the GUID is correct.
It only accepts canonical GUIDs. Use Sanitize first if needed.
try
{
OpenXpdUuid.Validate("ASB21M01");
Console.WriteLine("Valid GUID!");
}
catch (GuidValidationException ex)
{
Console.WriteLine(ex.Message);
}
Generate and use checksum
var guid = OpenXpdUuid.Generate(); // "JKGEE5PN"
var checksum = OpenXpdUuid.Checksum(guid); // "ME"
var guidWithChecksum = guid + checksum; // "JKGEE5PNME"
Console.WriteLine($"cqd.io/e/{guidWithChecksum}");
// "cqd.io/e/JKGEE5PNME"
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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.
-
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 | 353 | 9/16/2025 |
CHANGELOG.md