| 12345678910111213141516171819202122232425262728293031323334353637383940 | 
							- using System;
 
- using System.Security.Cryptography;
 
- using DeviceId;
 
- using DeviceId.Components;
 
- using DeviceId.Encoders;
 
- using DeviceId.Formatters;
 
- namespace InABox.DeviceIdentifier
 
- {
 
-     public static class DeviceID
 
-     {
 
-         public static string Value(string token, Action<string>? ondebug)
 
-         {
 
-             var deviceId = new DeviceIdBuilder()
 
-                 .AddMachineName()
 
-                 .OnWindows(w => w
 
-                     .AddProcessorId()
 
-                     .AddMotherboardSerialNumber()
 
-                     .AddSystemDriveSerialNumber()
 
-                     .AddSystemUuid()
 
-                     .AddComponent("Port", new DeviceIdComponent(token))
 
-                 )
 
-                 .UseFormatter(new HashDeviceIdFormatter(() => SHA256.Create(), new Base64UrlByteArrayEncoder()))
 
-                 .ToString();
 
-             if (ondebug is not null)
 
-             {
 
-                 ondebug(string.Format("N: {0}", new DeviceIdBuilder().AddMachineName()));
 
-                 ondebug(string.Format("P: {0}", new DeviceIdBuilder().OnWindows(w => w.AddProcessorId())));
 
-                 ondebug(string.Format("B: {0}", new DeviceIdBuilder().OnWindows(w => w.AddMotherboardSerialNumber())));
 
-                 ondebug(string.Format("D: {0}", new DeviceIdBuilder().OnWindows(w => w.AddSystemDriveSerialNumber())));
 
-                 ondebug(string.Format("U: {0}", new DeviceIdBuilder().OnWindows(w => w.AddSystemUuid())));
 
-                 ondebug(string.Format("T: {0}", new DeviceIdBuilder().AddComponent("Port", new DeviceIdComponent(token))));
 
-                 ondebug(string.Format("L: {0}", deviceId));
 
-             }
 
-             return deviceId;
 
-         }
 
-     }
 
- }
 
 
  |