【发布时间】:2010-12-16 11:47:36
【问题描述】:
如何对序列号生成器进行编程,以便为某些现有软件生成序列号?
【问题讨论】:
-
您要找什么样的序列号? 1234、1235、1236 或 234XK-773A-...,还是其他?
-
您的意思是要为其他人创建的受版权保护的程序生成序列号?
标签: c# licensing license-key
如何对序列号生成器进行编程,以便为某些现有软件生成序列号?
【问题讨论】:
标签: c# licensing license-key
您没有说明任何具体要求,但可以使用 GUID。
Guid mySerialNumber = Guid.NewGuid();
【讨论】:
我之前使用过这个CodeProject Article,当我需要为我最近从事的项目做同样的事情时。我发现它非常详细,虽然我没有使用示例中的所有内容,但我确实从中得到了很多。 (我与 CodeProject 或作者无关)
此外,还有一个库可以为您提供所有这些功能,包括许可证文件替换和大量其他功能,但它不是免费的,不幸的是我不记得链接了。我确定用 Google 搜索一下,你会找到的。
【讨论】:
public static string GetSerialKeyAlphaNumaric(SNKeyLength keyLength)
{
string newSerialNumber = "";
string SerialNumber=Guid.NewGuid().ToString("N").Substring(0, (int)keyLength).ToUpper();
for(int iCount=0; iCount < (int) keyLength ;iCount +=4)
newSerialNumber = newSerialNumber + SerialNumber.Substring(iCount, 4) + "-";
newSerialNumber = newSerialNumber.Substring(0, newSerialNumber.Length - 1);
return newSerialNumber;
}
【讨论】:
尝试使用Luhn's algorithm 可以测试的数字。这样一来,您就可以让它变得难以捉摸,但仍然很容易确认。这篇文章包含一个 C# 实现的链接。
【讨论】: