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

时间:2011-04-27 01:19:45

标签: c linux install

我想向客户出售一个程序,但我想让一个程序只能在一个服务器上运行,只有一个lisence代码,如果客户想要在其他服务器上运行该程序,他需要购买更多的激活码。 / p>

那么有一个生成激活码的好方法吗?我想它会与一个密码和服务器mac-address

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

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

没有完美的方法可以做到这一点,因为虚拟化基本上可以模拟任何环境以获得惊人的细节。许可证文件,签名可执行文件和远程许可证服务器都是选项,但对您的客户来说是一种压力。我建议您与客户签订许可协议,信任。你没有理由不采取某种定期审计,但最终归结为信任与便利的关系。

答案 2 :(得分:1)

[产品激活]已有完善的解决方案[2],他们已经处理了您需要考虑的问题,包括:

  • 在没有Internet连接的系统上安全地激活许可证
  • 允许用户安全地重新定位许可证
  • 允许在虚拟系统上安装而不启用无限制复制
  • 当用户的系统崩溃时,如何在另一个系统上重新获得许可证。
  • 防止各种黑客攻击
  • 锁定用什么?正如亚历克斯所说,MAC地址不是一个好的选择,即使它是一个普通的地址。系统参数的组合是最好的,但那么如何优雅地与进行次要系统升级的用户打交道?
  • 安全试用许可证,无论是有时间限制的,功能受限的,还是两者兼而有之。
  • 配置产品功能
  • 许可升级...... ......还有更多。