用机器码授权验证,如何加密比较好

pfworld pfworld 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
因为用户计算机没有网络,因此根据机器码+授权时间生成注册码,如果用户说换计算机了,如何保证软件权益?

使用机器码+授权时间使用MD5机密,太长了,有没有好点的加密方法(生成注册码短一点)。


//获得网卡序列号----MAc地址
public string GetMoAddress()
{
try
{
//读取硬盘序列号
ManagementObject disk;
disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
disk.Get();

string MoAddress = "SOFT";
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc2 = mc.GetInstances();
foreach (ManagementObject mo in moc2)
{
if ((bool)mo["IPEnabled"] == true)
{
string a = mo["MacAddress"].ToString();
string c = disk.GetPropertyValue("VolumeSerialNumber").ToString();
MoAddress = "SOFT-" + a + "-" + c;
break;
}
}
return MoAddress.ToString().Replace(":", "");
}
catch
{
return "ERR-SOFT";
}

public string GetMd5(object text)
{
string path = text.ToString();

MD5CryptoServiceProvider MD5Pro = new MD5CryptoServiceProvider();
Byte[] buffer = Encoding.GetEncoding("utf-8").GetBytes(text.ToString());
Byte[] byteResult = MD5Pro.ComputeHash(buffer);

string md5result = BitConverter.ToString(byteResult).Replace("-", "");
return md5result;
}


...全文

相关推荐

评论 18
收藏 已收藏
分享
返回顶部
pfworld
C# 111,129 成员 642,538 内容