LevelcodeLicenseAPP/Security/HwidService.cs
2026-03-25 16:26:11 -03:00

76 lines
2.0 KiB
C#

using System;
using System.Management;
using System.Text;
namespace LevelCode.License.Security
{
public static class HwidService
{
// =========================
// GERAR HWID BRUTO
// =========================
public static string GerarHwid()
{
StringBuilder sb = new StringBuilder();
try
{
sb.Append(GetCpuId());
sb.Append("|");
sb.Append(GetDiskSerial());
sb.Append("|");
sb.Append(Environment.MachineName);
}
catch
{
sb.Append(Environment.MachineName);
}
return sb.ToString();
}
// =========================
// CPU ID
// =========================
private static string GetCpuId()
{
try
{
using (ManagementObjectSearcher searcher =
new ManagementObjectSearcher("SELECT ProcessorId FROM Win32_Processor"))
{
foreach (ManagementObject obj in searcher.Get())
{
return obj["ProcessorId"]?.ToString();
}
}
}
catch { }
return "CPU_UNKNOWN";
}
// =========================
// DISK SERIAL
// =========================
private static string GetDiskSerial()
{
try
{
using (ManagementObjectSearcher searcher =
new ManagementObjectSearcher("SELECT SerialNumber FROM Win32_PhysicalMedia"))
{
foreach (ManagementObject obj in searcher.Get())
{
if (obj["SerialNumber"] != null)
return obj["SerialNumber"].ToString().Trim();
}
}
}
catch { }
return "DISK_UNKNOWN";
}
}
}