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

发布于 2024-08-30 06:16:05 字数 1431 浏览 3 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

摘星┃星的人 2024-09-06 06:16:05

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

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

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

You will need to develop or find an algorithm that creates sufficiently complex strings for your license keys.

Generate the license key based on some bit of information unique to a user, like their E-Mail address.

Your program would then require the user to enter their E-Mail address and license key. It would then ensure the license key is correct by running the same algorithm you did to generate it in the first place.

策马西风 2024-09-06 06:16:05

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

然后我向每个客户提供生成的 1000 个密钥中的一个唯一密钥,当他们将其输入到我的软件中时,它会使用相同的哈希算法进行哈希处理并进行比较针对包含的哈希值。如果比较 true,则您已注册,因此将其保存在您的配置文件中。

我经常用另一个版本号更新程序,并重新创建该版本中包含的密钥和哈希值。您只需要跟踪哪些密钥与哪个版本相关,但是您可以使用一个好的数据库等来控制它。

这个系统从来没有遇到任何问题,因为它可以完全自动化。

The approach i have used in the past is a simple one but effective. I generate about a 1000 keys to my software and run them through a hashing algorithm. I then include them within my program (maybe as an array which takes up little space)

I then give out one unique key of the 1000 generated to each customer and when they enter that into my software it is hashed with the same hashing algorithm and compared against the included hashes. If it compares true you are registered so save it in your config file.

Every so often i update the program by another build number and recreate the keys and hashes included in that build. You just have to keep track of what keys go with what build, but you can control this with a nice database, etc.

Never had any trouble with this system as it can all be fully automated.

缪败 2024-09-06 06:16:05

您可以尝试使用用户名 + 出生日期 + 用户选择的密码生成许可证密钥字符串。

或者

使用用户的硬件序列号并在安装后在线为他们提供许可证密钥。我假设此时每个许可证只允许一台计算机。

You could try generating license keys strings using the user's name + dob + user-selected-password.

OR

Use the user's h/w serial numbers and give them a license key online post install. I am assuming at this point only one computer per license is allowed.

白云不回头 2024-09-06 06:16:05

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

尝试支持此方案的CryptoLicensing

Pinging the web service will not work if a net connection is not available. You should use a combination of pinging and a grace period. If a customer cannot validate/activate the license within 'X' number of days, THEN you declare it as unlicensed.

Try CryptoLicensing which supports this scenario.

旧伤慢歌 2024-09-06 06:16:05

我建议你看看 OffByZero Cobalt (强制性免责声明:它是由我共同创立的公司生产的) 。您最好购买现有的经过验证的解决方案,而不是自行推出。

正如我们在软件保护和许可开发中指出的那样:

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

I suggest you take a look at OffByZero Cobalt (obligatory disclaimer: it's produced by the company I co-founded). You're better off buying an existing proven solution than rolling your own.

As we point out in Developing for Software Protection and Licensing:

We believe that most companies would
be better served by buying a
high-quality third-party licensing
system. This approach will free your
developers to work on core
functionality, and will alleviate
maintenance and support costs. It also
allows you to take advantage of the
domain expertise offered by licensing
specialists, and avoid releasing
software that is easy to crack.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文