管理许可证密钥

时间:2009-09-30 05:42:33

标签: licensing

我在C#中开发了一个应用程序,现在我正在进行许可流程。在我的服务器上在线注册我的应用程序后,如何处理许可证密钥?我应该把它留在哪里?我应该在每次启动时验证应用程序吗?

1 个答案:

答案 0 :(得分:4)

你基本上有三个选择:

  1. 将许可证密钥存储在数据库中,提供Web服务并让应用程序在每次启动时对其进行身份验证(缺点是,您需要维护身份验证服务器并提供非常好的正常运行时间,否则您将有心怀不满的客户)
  2. 创建由客户端计算机的唯一数据组成的许可证密钥。例如,您可以从NIC硬件MAC地址,硬盘序列号等生成许可证密钥。 在这种情况下,客户端应用程序将在初始启动时向您发送所有数据。然后,您的服务器可以计算相应的密钥并将其发送回客户端(例如通过电子邮件)。这样,客户端应用程序只需要进行一次身份验证。缺点是,如果客户端更改了用于计算密钥的某些硬件,则客户端必须请求新密钥。
  3. 最简单,最不安全的方法是创建一些创建密钥的算法。客户端应用程序将解码该密钥并确定它是否有效。非常容易实现,但没有禁止用户彼此共享密钥