对于使用Fastspring的Python应用程序,我应该使用什么序列号许可解决方案?
编辑:有人能解释为什么这是“离题”吗?我认为它非常清楚地遵循了常见问题解答中列出的指导原则。有什么我遗漏的吗 我一直在用PyQt(python2.7,pyqt4.9.5)创建一个windows桌面应用程序,我即将发布该软件以供销售。现在是我添加某种基于许可/序列号的软件激活系统的时候了。该软件是一款企业对企业的产品,零售价约为250美元 我一直在考虑与Fastspring合作,他们提供与以下内容的集成:对于使用Fastspring的Python应用程序,我应该使用什么序列号许可解决方案?,python,licensing,Python,Licensing,编辑:有人能解释为什么这是“离题”吗?我认为它非常清楚地遵循了常见问题解答中列出的指导原则。有什么我遗漏的吗 我一直在用PyQt(python2.7,pyqt4.9.5)创建一个windows桌面应用程序,我即将发布该软件以供销售。现在是我添加某种基于许可/序列号的软件激活系统的时候了。该软件是一款企业对企业的产品,零售价约为250美元 我一直在考虑与Fastspring合作,他们提供与以下内容的集成: 水质点 可可豆 GameShield和软件Passport Yummy Interactiv
感谢您的帮助。需要注意的一点是,对Python字节码进行反编译和反向工程并删除您为其提供的任何保护相对容易,因此通常不值得花费太多精力和时间来实现防裂保护。你只想投入足够的钱让人们保持诚实 如果您担心的是企业购买了正确数量的席位,那么一种基本的保护机制是使用公钥机制,在授权服务器上使用私钥为消息添加数字签名。该消息只是一个随机字符串和一些唯一标识信息,这些信息限制许可证密钥对其有效的机器(例如MAC地址等),如果您想使密钥过期,还可能是一个时间戳。然后将此消息和签名编码为一个字符串,您的客户将该字符串放入您的程序中,该程序通过验证签名是否与消息匹配以及消息是否与机器匹配来验证许可证密钥 如果您关心的只是用户有一个密钥(而不是不同的机器有不同的密钥),则有更简单的方案;您可以简单地对消息使用完全随机的字符串 只要用户不对代码进行反向工程,此方案就是安全的。可以通过使用自己的公钥反向工程程序中的公钥来绕过它。也可以通过篡改用于识别计算机的信息(例如MAC地址)来绕过该漏洞;篡改这些信息可能会允许使用同一密钥进行多个安装。您可以尝试一些。更重要的是,如果你只是想让人们不忘记或不费心付钱,那就自己动手吧,一件非常简单的事情——如果很容易绕过,在那个用例中可能不是什么大问题。