4

随机生成一些不太可能再次随机生成的激活码以用于激活软件的好方法是什么?我正在为 Web 应用程序制作一个自动实现系统。

我正在使用 C#。

4

4 回答 4

16

Guid.NewGuid()

于 2009-08-26T19:28:06.440 回答
4

这取决于你的目标。GUID 生成起来很简单,但是如果用户必须手动输入它会很痛苦。如果通过(例如)单击电子邮件中提供的 URL 进行激活,或者您可以期望用户从激活电子邮件中复制并粘贴一个值,那很好。

在其他情况下(例如,激活代码以某种方式物理打印在包装上的收缩包装软件),用户将手动输入代码。在这种情况下,您最好使用类似于 Microsoft 和 Blizzard 使用的方法:生成由五组五个随机字母数字字符组成的代码(如果您想消除激活代码包含类似内容的风险,请省略元音4SHIT),并根据主列表检查生成的每个代码是否存在重复项。(尽管我认为从 {1, 2, ... 34^26 - 1} 中提取的包含重复项的 100,000 个序列的几率很小。很难确定,因为我知道的唯一计算方法它溢出了一个双倍。)

于 2009-08-26T20:10:13.343 回答
2

Guid.NewGuid().ToString()

如果您不介意 36 个字符的长度。

于 2009-08-26T19:28:41.430 回答
1

您可能应该只使用 Guid

于 2009-08-26T19:28:38.123 回答