软件许可证(License)的设计思路

今天, 我们来考虑这样一个问题: 你写了一个软件tool.exe,  别人想买, 需要花1块钱, 然后你把tool.exe发给他, 他就是你的用户了。 问题是: 你怎么防止tool.exe被无限复制和传播呢? 这样岂不是就挣不到钱呢?        这就涉及到软件许可证的控制了。 你看, 我们平常用的一些软件, 经常需要搞个验证码什么, 就是类似的道理。        这里, 我们考虑让tool.exe绑定到具体一台电脑, 别的电脑不能用。 怎么做到呢?  我们一起来看看一个简单的设计和实现:        1.  你把tools.exe工具发给你的用户, tooll.exe工具会生成SID信息, 这个SID信息与某一台电脑是强绑定的, 我的博文之前有介绍怎么获取这个SID信息。        2.  用户把tools.exe上显示的SID信息发给你, 你用onlyMe.exe生成许可证文件, 变换法则是:  licenseFile = f(SID),  也就是对SID进行一系列的变化, 如RSA加密等。 然后你把licenseFile这个文件发给用户。        3.  用户选择用tools.exe工具导入licenseFile文件, 然后tool.exe读取其中内容, 并进行解码(逆向f变换), 解出SID信息, 然后与tool.exe生成的SID比较。 相等则允许使用, 否则不允许使用。        当然, 为了安全起见, 可以加入更加复杂的机制, 如签名, 盐等! 千万要注意:onlyMe.exe不可泄露.  --------------------- 本文来自 stpeace 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/stpeace/article/details/77998403?utm_source=copy

猜你喜欢

转载自blog.csdn.net/weixin_42227141/article/details/82803173