smart-license 2.0发布,守护你的软件权益

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

一、适用场景

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

二、产品特色

  • 开源,代码完全公开,License的生成原理是透明的。
  • 易用,秒级生成License。
  • 安全,生成的 License 在一定程度上具备防篡改能力,破解难度大。

三、更新说明

这是一个颠覆性的版本,为了给用户提供更好的使用体验。我们果断的剔除了 1.x 版本中的 License 生成功能,并提供了 License 的在线申请服务,整个过程仅需几秒钟。

在 smart-license 2.0 中,我们将协议规则调整为语言无关的模式。这意味着除了Java,未来我们还能为其他编程语言提供同等的授权服务。

3.1 Shield.盾

这是License在线申请服务的产品名,寓意着:守护。

你可以通过我们的使用文档连接找到该服务地址。在此感谢为我们提供服务器的朋友,以及前端框架layui-vue作者给予的技术支持。

3.2 客户端

客户端仅做了少许的优化,老用户稍加调整便可适配过来,不过原有的License 文件需要重新生成。

<dependency>
    <groupId>org.smartboot.license</groupId>
    <artifactId>license-client</artifactId>
    <version>2.0</version>
</dependency>

示例程序:

private void loadLicense(Properties properties) {
    1️⃣ License license = new License(entity -> EnterprisePlugin.this.uninstall(),10);

    2️⃣ try (InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("License.shield")) {
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        byte[] bytes = new byte[1024];
        int size;
        while ((size = inputStream.read(bytes)) > 0) {
        byteArrayOutputStream.write(bytes, 0, size);
        }
    3️⃣  LicenseEntity entity = license.loadLicense(byteArrayOutputStream.toByteArray());
    4️⃣  properties.load(new ByteArrayInputStream(entity.getData()));
        System.out.println(properties);
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
  1. 初始化 License 客户端。注册license过期后的回调逻辑,以及过期状态下的回调重复触发频率(单位:秒)。
  2. 加载 License 文件流。
  3. 解析 License 进行合法性校验,并获取授权内容。
  4. 基于授权内容进行软件运行时的配置初始化。

四、最后

我们寄希望于用技术的力量来守护技术人的权益,所以创造了 smart-license 。

但因某些因素致使该项目长期处于托管状态,在此向曾经关注该项目,以及前来技术咨询的朋友说是抱歉。

我们无法承诺会持续维护该项目,也没有计划在社区提供免费的咨询服务。

如果有朋友愿意为这个项目贡献一份力量(包括且不限于:策略优化、文档、推广运营、付费咨询),在此表示非常的欢迎和感谢!

仓库:https://gitee.com/smartboot/smart-license

文档:https://smartboot.gitee.io/smart-license/ (内有 Shield.盾 的跳转连接)

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/218477

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。