阅读 12

这个程序员用开源的方式,帮你保护商业软件的知识产权

国内的软件知识产权保护一直以来都被人们所诟病,但经过国家的整改及人们版权意识的提高,前些年盗版软件、破解软件横行网络的情况现已经改善不少。尽管如此,软件知识产权的现状仍然十分严峻,需要我们大家持续不断的努力。

Gitee 上这位优秀的同学就用这个开源项目为软件知识产权保护做出了自己的一份贡献,这个 smart-license 就是一个保护个人与企业的软件作品权益的项目。

项目名称:smart-license

项目作者:smartboot

开源许可协议:Apache-2.0

smart-license 是一款用于安全加固的开源项目。 主要服务于非开源产品、商业软件、具备试用功能的付费软件等,为软件提供授权制的使用方式。

适用场景:

  • 非开源产品、商业软件、收费软件。
  • 限制产品的传播性,每个客户拥有专属 License。
  • 同一款软件发行包根据 License 的不同提供不同的服务能力。
  • 限定软件授权时效

Lisence 运行流程

Lisence 申请流程

找回 Lisence

使用方式

生成 License

1.下载 smart-license.tar.gz 包,解压。

2.进入bin目录执行以下命令,例如:

./license.sh 1d HelloWorld

  • 1d:表示授权效期1天,即一天后该License便过期。支持的效期格式包括:
  • h,1h:1小时; 2h:2小时
  • d,1d:1天; 10d:10天
  • y,1y:1年; 2y:2年
  • HelloWorld:表示待加密的 license 内容。

实际场景下可以通过 license 授权不同的产品功能和有效期,例如:

./license.sh 1y features_1:on;features_2:off;
如果待授权的 license 内容为文件,可以采用同样的命令,例如:
./license.sh 1y config.properties

3.执行成功后,会在当前目录下生成 License:license.txt 以及 License 源文件:source.txt。 注意:license.txt是提供给客户的授权文件;而 source.txt 是由软件提供方持有,其中包含加密私钥,需要妥善保管

使用 License

1.引入 Maven 依赖

<dependency>
    <groupId>org.smartboot.license</groupId>
    <artifactId>license-client</artifactId>
    <version>1.0.0-SNAPSHOT</version>
</dependency>复制代码

2.载入 License。如若 License 已过期,则会触发异常。

public class LicenseTest {
    public static void main(String[] args) throws Exception {
        File file=new File("license.txt");
        License license = new License();
        LicenseConfig licenseConfig=license.loadLicense(file);
        System.out.println(licenseConfig.getOriginal());
    }
}复制代码

3.获取 licenseData 并以此配置启动软件。

点击这里访问项目主页:gitee.com/smartboot/s…


关注下面的标签,发现更多相似文章
评论