处理我的软件许可证的最佳方法是什么?

时间:2010-04-22 17:41:13

标签: licensing

最好的意思是更多的时间测试,更容易实现,更容易让用户使用。我希望我的许可废话干扰他们的工作。

我正在考虑启动一个WCF服务,如果它是有效的许可证,请检查我的许可证数据库,如果是,则发送一个True。

如果返回的响应为False,则在告诉他们修复许可证后关闭程序。

你认为这是处理它的好方法吗?

5 个答案:

答案 0 :(得分:1)

您需要开发或找到一种算法,为您的许可证密钥创建足够复杂的字符串。

根据用户特有的一些信息(如电子邮件地址)生成许可证密钥。

然后,您的程序将要求用户输入其电子邮件地址和许可证密钥。然后,它将通过运行您首先生成它的相同算法来确保许可证密钥正确。

答案 1 :(得分:1)

我过去使用的方法虽然简单但有效。我为我的软件生成了大约1000个密钥,并通过散列算法运行它们。然后我将它们包含在我的程序中(可能是一个占用很少空间的数组)

然后我向每个客户发出1000个生成的唯一密钥,当他们将其输入我的软件时,使用相同的散列算法对其进行散列,并与包含的哈希进行比较。如果它比较为true,则表示您已注册,因此请将其保存在配置文件中。

我经常用另一个内部版本号更新程序,并重新创建该构建中包含的键和哈希值。你只需要跟踪哪些键与什么构建有关,但是你可以用一个很好的数据库来控制它。

此系统从未遇到过任何问题,因为它可以完全自动化。

答案 2 :(得分:0)

您可以尝试使用用户名+ dob + user-selected-password生成许可证密钥字符串。

OR

使用用户的h / w序列号,并在安装后在线提供许可证密钥。我假设此时每个许可证只允许一台计算机。

答案 3 :(得分:0)

如果网络连接不可用,则ping Web服务将无效。您应该使用ping和宽限期的组合。如果客户无法在“X”天内验证/激活许可证,那么您将其声明为未经许可。

尝试支持此方案的CryptoLicensing

答案 4 :(得分:0)

我建议你看一下OffByZero Cobalt(强制性免责声明:它是由我共同创立的公司制作的)。你最好购买现有的成熟解决方案,而不是自己动手。

我们在Developing for Software Protection and Licensing中指出:

  

我们相信大多数公司都愿意   购买一个更好的服务   高质量的第三方许可   系统。这种方法将释放你的   开发人员致力于核心工作   功能,并将减轻   维护和支持费用。它也是   可以让你利用   许可提供的领域专业知识   专家,并避免释放   容易破解的软件。