oku*_*ane 9

有任何操作系统限制吗?我认为以下方法将非常简单:

  1. 选择一种获取机器ID的方法.例如,这可以是MachineGuid注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography.(生成唯一的机器ID)

  2. 定义您计划许可的功能以及识别它们的方法.你可以命名它们.如果您的产品很简单,它本身就是一个功能.

  3. 创建公钥/私钥对.

  4. 以某种方式检索客户的计算机ID.您可以要求他手动发送它,或者您可以创建一个简单的实用程序,或者它可以是您的应用程序中的特殊命令.

  5. 以某种方式组合功能ID和机器ID,并使用您的私钥签名结果.例如,您可以通过连接来组合.在这种情况下,结果字符串可能如下所示:"YourApplicationName-12345678-9abc-def0-1234-56789abcdef0"

  6. 签名将是一个字节序列,因此如果您想以文本形式传递它,您应该进行一些转换.例如,您可以将签名转换为Base64字符串.功能ID,机器ID和组合签名的组合将是许可证密钥!

  7. 在应用程序分发中包含公钥,并添加用于许可证验证的逻辑.如果许可证有效,那么您应该检查它是否在正确的机器和正确的应用程序中使用.

更多关于这里的公钥/私钥操作.

请告诉我某些事情是否不清楚,我会尽力提供详细的答案.

编辑:我确信所有这些的实施可以在1天内完成,但我同意其他建议您使用现有解决方案的人.有很多不同的平台和编程语言.


Jim*_*lle 5

你为什么不从别人那里得到一个.如果你只愿意放一天,你就不会得到一个好产品.

  • 如果专业人士决定自己写这样的解决方案,他将花费超过1天. (2认同)