如何生成c程序的激活码?

发布于 2024-11-04 03:53:59 字数 167 浏览 1 评论 0原文

我想向客户出售一个程序,但我想让一个程序可以在一台服务器上运行,只需一个许可证代码,如果客户想在其他服务器上运行该程序,他需要购买更多的激活码。

那么有没有好的方法来生成激活码呢?我想这将与一个密码和服务器 MAC 地址相关 顺便

说一句:我只需要一种简单的方法,因为我的客户不是技术人员

i want to sell one program to customer, but I want to make one program can run at one server with only one lisence code, if customer want to run the program at other servers, he needs to buy more activation codes.

so is there a good method to generate activation code? i imagine that it will be related with one password and server mac-address

BTW: I just need one easy method, because my customer is not technology man

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

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

发布评论

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

评论(3

梦冥 2024-11-11 03:53:59

我可以给你一个粗略的想法,但这并不容易。

让服务器运行,并在程序开始时,让它使用激活码和生成的哈希码(对于程序的每次编译都是唯一的)查询服务器,并让服务器检查是否已查询该组合前。

I can give you a rough idea, but, it isn't very easy.

Have a server running, and, at the start of your program, make it query your server with an activation code and a generated hash code (that is unique to each compile of the program) and have your server check if the combination has been queried before.

转身泪倾城 2024-11-11 03:53:59

对于[产品激活][2],有成熟的解决方案,它们已经解决了您需要考虑的问题,包括:

  • 在没有 Internet 连接的系统上安全地激活许可证
  • 允许用户安全地重新定位许可证
  • 允许在虚拟系统上安装在不启用无限复制的
  • 情况下,当用户的系统崩溃时,如何在另一个系统上重新获得他们的许可证。
  • 防御各种黑客攻击
  • 使用什么来锁定?正如 Alex 所说,MAC 地址不是一个好的选择,即使它是常见的地址。系统参数的组合是最好的,但是如何优雅地对待进行较小系统升级的用户呢?
  • 保护试用许可证,无论是有时间限制、功能有限还是两者兼而有之。
  • 配置产品功能
  • 许可升级...
    ....还有更多。

There are well-established solutions for [product activation][2], and they already deal with the issues you need to think about, including:

  • Securely activating licenses on systems without an Internet connection
  • Allowing users to securely relocate licenses
  • Allowing installation on virtual systems without enabling unlimited copying
  • When a user's system crashes, how you get their license up again on another system.
  • Protecting against various hacking attacks
  • What to use for locking? And as Alex says, the MAC address is not a good choice, even if it has been a common one. A combination of systems parameter is best, but then how do you deal gracefully with a user who does a minor system upgrade?
  • Secure trial licenses, whether time-limited, function-limited, or indeed both.
  • Configuring product features
  • Licensing upgrades...
    ....and much more.
神经暖 2024-11-11 03:53:59

没有完美的方法可以做到这一点,因为虚拟化基本上可以模拟任何环境,达到令人惊叹的细节。许可证文件、签名的可执行文件和远程许可证服务器都是选项,但对您的客户来说却是一种压力。我建议您与客户签订许可协议并信任他们。您没有理由不能采用某种定期审核,但最终这取决于信任与便利的问题。

There is no perfect way to do this since virtualization can basically emulate any environment to amazing detail. License files, signed executables, and remote license servers are all options but are such a strain on your customer. I recommend you form a license agreement with your customer and trust them. There is no reason that you couldn't adopt some sort of periodic audit but in the end it comes down to a matter of trust vs convenience.

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