推荐一款加密工具: 加密jar包+设置机器码+使用demo

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 推荐一款加密工具: 加密jar包+设置机器码+使用demo


推荐一款java加密工具:ClassFinal是一款java class文件安全加密工具,支持直接加密jar包或war包,无需修改任何项目代码,兼容spring-framework;可避免源码泄漏或字节码被反编译。

https://gitee.com/roseboy/classfinal

加密

生成机器码

java -jar classfinal-fatjar-1.2.1.jar -C

生成原始的jar包

mvn package -DskipTests=true

生成加密的jar包

注意: 指定密码,指定机器码

java -jar classfinal-fatjar-1.2.1.jar -file demo1-0.0.1-SNAPSHOT.jar  -packages com.example.demo1  -exclude com.example.demo1.Demo1Application -pwd 123456 -code C591A061AF277BF9C4A3A2D4B0B44F28D41D8CD98F00B204E9800998ECF8427ED41D8CD98F00B204E9800998ECF8427E -Y

-pwd 指定密码

-code 指定机器码

运行程序

java -XX:+DisableAttachMechanism -javaagent:demo1-0.0.1-SNAPSHOT-encrypted.jar="-pwd 123456" -jar demo1-0.0.1-SNAPSHOT-encrypted.jar

最好不写密码,在控制台中写:

java -XX:+DisableAttachMechanism -javaagent:demo1-0.0.1-SNAPSHOT-encrypted.jar -jar demo1-0.0.1-SNAPSHOT-encrypted.jar

在其他机器上运行效果 :

输错密码的情况下:

有效期设置

思路: 可以通过定时器的形式进行判断,如果超过有效期就退出程序(基于程序已经启动的情况下)

@Component
public class ExpirationCheck {
    //出厂时间
    private static final LocalDateTime expirationTime = LocalDateTime.of(2023, 12, 27, 14, 55);
    // @Scheduled(cron = "0 0 0 * * ?") // 指定每天的固定时间点(0点)
    @Scheduled(cron = "0 * * * * *") // 每分钟的第0秒执行一次
    public void checkExpiration() {
        System.out.println("-----进入定时任务中----");
        LocalDateTime currentTime = LocalDateTime.now();
        if (currentTime.isAfter(expirationTime)) {
            System.out.println("当前时间已超过有效期,程序即将退出");
            System.exit(0); // 退出程序
        }
    }
}

总结:

本文主要根据是根据开源加密工具: 实现jar包通过机器码限制机器启动,以及设置密码启动,并且可设置个有效期,限制程序的使用时间。

具体的内容去看请看看开源项目介绍。


相关文章
|
3月前
|
存储 安全 数据安全/隐私保护
打造安全防线!Python AES&RSA加密工具,黑客绕道走的秘籍
【9月更文挑战第9天】随着数字化时代的到来,信息安全问题日益凸显。本文将介绍如何使用Python结合AES与RSA两种加密算法,构建强大的加密工具。AES以其高效性和强安全性著称,适用于大量数据的快速加密;RSA作为非对称加密算法,在加密小量数据及实现数字签名方面表现卓越。通过整合两者,可以构建既安全又灵活的加密系统。首先,需要安装pycryptodome库。接着,实现AES加密与解密功能,最后利用RSA加密AES密钥,确保其安全传输。这种设计不仅提高了数据传输效率,还增强了密钥交换的安全性,为敏感数据提供坚实保护。
231 43
|
4月前
|
Java Maven 容器
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
使用IntelliJ IDEA的Artifacts功能,可以将项目依赖的第三方jar包打包进jar文件中,实现双击jar包即可直接运行。
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
|
3月前
|
安全 Java 数据安全/隐私保护
- 代码加密混淆工具-Java 编程安全性
在Java编程领域,保护代码安全与知识产权至关重要。本文探讨了代码加密混淆工具的重要性,并介绍了五款流行工具:ProGuard、DexGuard、Jscrambler、DashO 和 Ipa Guard。这些工具通过压缩、优化、混淆和加密等手段,提升代码安全性,保护知识产权。ProGuard 是开源工具,用于压缩和混淆Java代码;DexGuard 专为Android应用程序设计,提供强大加密功能;Jscrambler 基于云,保护Web和移动应用的JavaScript及HTML5代码;DashO 支持多种Java平台和
239 1
|
3月前
|
Java Windows
bat启动jar包时,如何设置jdk
【9月更文挑战第3天】bat启动jar包时,如何设置jdk
306 5
|
5月前
|
Java
[JarEditor]可直接修改jar包的IDEA插件
### 修改JAR包变得更简单:JarEditor插件简介 **背景:** 开发中常需修改JAR包中的class文件,传统方法耗时费力。JarEditor插件让你一键编辑JAR包内文件,无需解压。 **插件使用:** 1. **安装:** 在IDEA插件市场搜索JarEditor并安装。 2. **修改class:** 打开JAR文件中的class,直接编辑,保存后一键构建更新JAR。 3. **文件管理:** 右键菜单支持在JAR内新增/删除/重命名文件等操作。 4. **搜索:** 使用内置搜索功能快速定位JAR包内的字符串。
511 2
[JarEditor]可直接修改jar包的IDEA插件
|
4月前
|
存储 算法 Linux
在Linux中,如何理解加密工具?如GnuPG和OpenSSL。
在Linux中,如何理解加密工具?如GnuPG和OpenSSL。
|
4月前
|
存储 安全 数据安全/隐私保护
打造安全防线!Python AES&RSA加密工具,黑客绕道走的秘籍
【8月更文挑战第3天】数字化时代下,信息安全至关重要。本文介绍如何用Python结合AES与RSA构建加密工具。AES因其高效加密大量数据的能力而被选中;RSA作为非对称加密算法,在密钥管理和数字签名上表现出色。先安装`pycryptodome`库,接着实现AES加密解密功能,并利用RSA加密AES密钥以安全传递。这套方案不仅速度快,还能有效保障数据安全,为开发者提供坚实的信息防护屏障。
54 5
|
5月前
|
弹性计算 Java Serverless
Serverless 应用引擎操作报错合集之上传自定义JAR包,启动时报错,是什么导致的
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
4月前
|
存储 编解码 监控
云端加密代码库问题之企业设置网络隔离如何解决
云端加密代码库问题之企业设置网络隔离如何解决
|
4月前
|
Java Spring
【Azure 应用服务】记一次Azure Spring Cloud 的部署错误 (az spring-cloud app deploy -g dev -s testdemo -n demo -p ./hellospring-0.0.1-SNAPSHOT.jar --->>> Failed to wait for deployment instances to be ready)
【Azure 应用服务】记一次Azure Spring Cloud 的部署错误 (az spring-cloud app deploy -g dev -s testdemo -n demo -p ./hellospring-0.0.1-SNAPSHOT.jar --->>> Failed to wait for deployment instances to be ready)