有什么好方法可以随机生成一些不太可能再次随机生成的激活码,用于激活软件?我正在制作一个web应用程序的自动完成系统。
我正在使用C#。
发布于 2009-08-26 19:28:06
Guid.NewGuid()
发布于 2009-08-26 20:10:13
这取决于你的目标。GUID很容易生成,但如果用户必须手动输入它,这将是一件痛苦的事情。如果激活是通过(比方说)点击电子邮件中提供的URL进行的,或者如果您可以期望用户从激活电子邮件中复制并粘贴一个值,那么这是很好的。
在其他情况下(例如,收缩包装软件,激活代码以某种方式物理地打印在包装上),用户将手动输入代码。在这种情况下,您最好使用类似于Microsoft和Blizzard使用的方法:生成一个由五组五个随机字母数字字符组成的代码(如果您希望消除激活代码包含类似4SHIT的内容的风险,请省略元音),并根据主列表检查生成的每个代码是否存在重复项。(虽然我认为即使是从{1,2,... 34^26 - 1}中提取的100,000个序列包含重复的可能性也很小。这很难肯定,因为我所知道的计算它的唯一方法是溢出一个双精度。)
发布于 2009-08-26 19:28:41
Guid.NewGuid().ToString()
如果你不介意36个字符的长度。
https://stackoverflow.com/questions/1336941
复制相似问题