321a7091c6
- machine info - inclusione librerie x DeviceId - Generatore CodImpiego + Key x machines
70 lines
2.2 KiB
C#
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);
|
|
}
|
|
|
|
}
|
|
}
|