没有互联网访问和拍摄键
关于序列密钥大小,在短/人类可读密钥(不太安全)和长密钥或可能的许可证文件(更安全)之间进行权衡。
如果您想要简短且人类可读的密钥以允许您存储诸如到期日期和功能之类的内容,您可以将 SKGL 与 Software Protector 一起使用,它们都是开源的(https://help.cryptolens.io/faq/what-是-skgl)。
然而,缺点是他们很可能会使用对称加密和/或将密钥生成算法存储在应用程序中。这意味着最终用户可以尝试查找加密密钥和/或算法(请参阅http://www.codeproject.com/Articles/764610/Licensing-systems-in-NET)。
Internet 访问(或使用激活文件离线)
更好的选择是使用基于云的系统来跟踪所有许可证密钥并允许您随时修改它们。
如果您有基于 Web 的许可系统,您可以使密钥更短,并且不必在实际密钥中存储信息(大多数基于离线的系统都是这种情况)。
此外,您将能够支持更多的许可模式,例如基于订阅的模式。
解决方案是:
在我看来,整个过程应该外包给专门开发该特定组件的第三方。扩展后,您可能需要更改许可逻辑。第三方可能已经支持这种方案,而不是自己开发。
有几种解决方案(确保寻找基于网络的解决方案),Cryptolens就是一个例子。如果您正在开发 .NET 应用程序,这里是一步一步的示例:https ://help.cryptolens.io/examples/key-verification 。
免责声明:我是 SKGL/Software Protector、关于许可系统的文章和 Cryptolens 的作者。