1

类似的问题:生成软件激活码的最佳方式如何生成简单的注册码,根据用户提供的输入并在安装后进行验证

我的问题/使用类似于 Microsoft 如何处理 All-in-One Vista 磁盘。在 Vista 安装期间,如果它没有检测到要安装的特定版本,它会要求输入密钥代码,然后知道要安装哪个版本。我的应用程序在 Visual Basic 2010 中,我想使用键码让用户根据他/她拥有的代码解锁某些功能。所以代码需要内置到软件中(或者更确切地说,是一种算法),这样它就知道要解锁什么,但还不够明显,以至于黑帽黑客知道# xx位解锁了特性xxxx。如果有人从另一个 .NET 或 PHP 发布代码,那么我可以翻译成 VB 代码。

我的目标是让代码不容易被猜到,并且仍然生成超过 20,000 个可以转换为一组功能的代码,并验证它是注册或激活软件的唯一用户

4

1 回答 1

1

在直接回答您的问题时,我会看看这个项目;它可能与您尝试做的事情有关:http: //keygen.codeplex.com/

但是,由于您不是安装操作系统而是安装应用程序,因此我建议您使用基于服务器的 DRM 设置。这样的流程将是:

  1. 您在服务器上生成一个新密钥并将其包含在软件中(如果它是可下载的内容,则通过电子邮件发送)。此生成过程的一部分包括指定与该密钥兼容的功能和版本。
  2. 用户安装您的软件并输入您提供的密钥。
  3. 您的软件会检查您的注册服务器以查看它是否是有效密钥并从服务器获取功能信息。

此解决方案确保无法在不访问服务器的情况下修改/创建新密钥。如果您在服务器端使用 GUID 之类的东西,那么它也几乎不可能猜到一个键。

于 2012-04-20T18:34:53.677 回答