程序获取matherboard的wmi代码,
string motherCode;
ManagementObjectSearcher searcher = new ManagementObjectSearcher(
"SELECT SerialNumber FROM Win32_BaseBoard");
ManagementObjectCollection information = searcher.Get();
foreach (ManagementObject obj in information)
{
foreach (PropertyData data in obj.Properties)
matherCode = data.Value.ToString();
}
对它进行加密,用户向我发送带有代码的电子邮件,然后我做某事(我该怎么办?)并使用许可文件/密钥向用户发送电子邮件。我阅读了许多关于保护,许可证等的信息,但我不明白我的程序应该做什么。 THK
答案 0 :(得分:1)
我对它的价值所在的建议是阅读非对称密码学。一旦你完成了这个,就会这样:
1 /获取公钥/私钥对。
2 /在申请许可时,用户会向您发送一个XML文件,其中包含您希望保护的任何信息"。在这种情况下,您将需要来自主板的WMI代码(无论是什么 - 我不是硬件......) - 但您也可以选择其他信息,例如用户数量等 - 基本上任何东西你不希望客户能够玩。
3 /然后使用私钥加密此文件,然后将其发回。
4 /您的软件,检查它"许可证" (实际上,加密文件),只需使用您的PUBLIC KEY解密加密文件。该密钥可能随系统一起提供,但最好通过电子邮件将其与加密文件一起发送 - 这样您就可以不时更改自己的私钥......5 /检查解密文件中包含的信息是否与您正在运行的环境相匹配。如果匹配,那么很好 - 如果没有,则违反许可证......
我确定有更好的算法可以用于此类事情,但这是我离开办公室回家后五分钟内最好的算法...