感谢所有人的想法和评论。
是的,需要考虑一些好点。
进行讨论;
我不是想在这里开发一个无敌的许可系统(这可能是不可能的,我不想使用加密狗等),我正在开发自己的单人项目,所以花 3000 美元买了一个现成的解决方案永远不会发生。
我只是想阻止它很容易将许可证发送给另一个开发人员或使用一个许可证而不是 5 个许可证“逃脱”。合法用户会付钱,但有决心的人无论如何都会绕过它,所以我不会费心去阻止他们。我有点认为无论如何都应该有一种“开发者荣誉”的氛围——剥削你的开发者伙伴是 IMO 的恶业。尼亚耶夫?大概。
作为对使用开发者运行时许可证的开发人员的回答。我可能在这里遗漏了一些东西,但这个想法是,当他们的软件准备好交付时,客户会生成一个运行时许可证密钥 - 即构建并准备好 - 这使得许可证应用程序被锁定,而不是用于开发应用程序的机器锁定开发人员许可证密钥。
我在想的许可证只是一个随库分发的文件,因此可以根据需要在开发和运行时之间切换。我的许可证代码将能够判断它是哪种许可证类型(许可证文件中加密块中的 dev/rt 指示符?)
必须通过从我随软件提供的工具调用密钥发布 Web 服务来激活/创建开发许可证密钥。用户将提供一些信息,例如姓名和电子邮件地址。该工具将采用特定于机器的东西。所有内容都被发送到 Web 服务,该服务返回一个包含个人信息(原始文本副本?)的许可证文件和一个哈希(然后是 SHA,而不是 MD5!)
在运行时,我的库加载许可证密钥文件(开发或运行时),并相应地验证许可证(验证其运行的节点或调用它的应用程序)。我可以允许用户代码按照建议调用,传递许可证密钥文件流。
这会奏效还是我真的疯了?
干杯。