Files
egwcorelib/EgwCoreLib.Utils/SubLicManager.cs
T
Samuele Locatelli 321a7091c6 Aggiunta classi x gestione
- machine info
- inclusione librerie x DeviceId
- Generatore CodImpiego + Key x machines
2024-09-25 11:42:28 +02:00

70 lines
2.2 KiB
C#

using DeviceId;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EgwCoreLib.Utils
{
/// <summary>
/// Classe gestione SubLicenze (attivazioni)
/// </summary>
public class SubLicManager
{
private MachineDataValidator MachineDataValidator { get; set; } = null!;
private MachineInfo MachineInfo { get; set; } = null!;
public SubLicManager()
{
MachineDataValidator = new MachineDataValidator();
MachineInfo = new MachineInfo();
}
public string CodImpiego()
{
Guid tempKey = Guid.NewGuid();
string codice = $"{tempKey}";
// impiego libreria nuget
codice = new DeviceIdBuilder()
.AddMachineName()
.AddUserName()
.AddOsVersion()
.OnWindows(windows => windows
.AddMacAddressFromWmi(excludeWireless: true, excludeNonPhysical: true)
.AddProcessorId()
.AddMotherboardSerialNumber()
.AddSystemDriveSerialNumber())
.ToString();
return codice;
}
/// <summary>
/// Genera KEY macchina in modalità encrypt
/// </summary>
/// <param name="passphrase"></param>
/// <returns></returns>
public string GenKey(string passphrase)
{
Guid tempKey = Guid.NewGuid();
string message = $"{tempKey}";
var UserData = MachineInfo.GetInfo("USER");
string payload = $"{DateTime.Now:yyMMdd}-{DateTime.Now:HHmmss}";
if (UserData.ContainsKey("MachineName"))
{
payload += $"|{UserData["MachineName"]}";
}
if (UserData.ContainsKey("UserDomainName"))
{
payload += $"|{UserData["UserDomainName"]}";
}
if (UserData.ContainsKey("UserName"))
{
payload += $"|{UserData["UserName"]}";
}
return SteamCrypto.EncryptString(message, passphrase);
}
}
}