有任何操作系统限制吗?我认为以下方法将非常简单:
选择一种获取机器ID的方法.例如,这可以是MachineGuid注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography.(生成唯一的机器ID)
定义您计划许可的功能以及识别它们的方法.你可以命名它们.如果您的产品很简单,它本身就是一个功能.
创建公钥/私钥对.
以某种方式检索客户的计算机ID.您可以要求他手动发送它,或者您可以创建一个简单的实用程序,或者它可以是您的应用程序中的特殊命令.
以某种方式组合功能ID和机器ID,并使用您的私钥签名结果.例如,您可以通过连接来组合.在这种情况下,结果字符串可能如下所示:"YourApplicationName-12345678-9abc-def0-1234-56789abcdef0"
签名将是一个字节序列,因此如果您想以文本形式传递它,您应该进行一些转换.例如,您可以将签名转换为Base64字符串.功能ID,机器ID和组合签名的组合将是许可证密钥!
在应用程序分发中包含公钥,并添加用于许可证验证的逻辑.如果许可证有效,那么您应该检查它是否在正确的机器和正确的应用程序中使用.
更多关于这里的公钥/私钥操作.
请告诉我某些事情是否不清楚,我会尽力提供详细的答案.
编辑:我确信所有这些的实施可以在1天内完成,但我同意其他建议您使用现有解决方案的人.有很多不同的平台和编程语言.
| 归档时间: |
|
| 查看次数: |
2507 次 |
| 最近记录: |