hlinfo-utils是一些常用的java小工具集合。
小巧玲珑,静态封装,快速使用
- master分支,1.X版本,支持(Java EE)JDK1.8
- V2分支,2.X版本,支持(Jakarta EE)JDK17
请前往Maven中央库查找最新版本
非SpringBoot工程直接引入:
<dependency>
<groupId>net.hlinfo</groupId>
<artifactId>hlinfo-utils</artifactId>
<version>1.0.12</version>
</dependency>
Spring Boot 工程则引入hlinfo-utils-spring-boot-starter即可(自动注入相关Bean):
<dependency>
<groupId>net.hlinfo</groupId>
<artifactId>hlinfo-utils-spring-boot-starter</artifactId>
<version>1.0.1</version>
</dependency>
- Func:常用静态方法类集合,通过Func.方法名直接使用,包含字符串,日期等
- Jackson:Jackson常用操作方法,均为静态方法可直接使用,通过Jackson.方法名使用(非Spring Boot应用需要引入Jackson依赖)
- RedisUtils:Spring Boot项目Redis常用操作工具(依赖spring-boot-starter-data-redis,使用方法见下文)
- HashUtils:封装常用的hash散列杂凑算法,有SM3、sha3等(需要引入依赖org.bouncycastle:bcprov-jdk15to18)
- AESUtils:AES加密/解密工具,含微信平台(小程序/开放平台)加密数据解密(微信平台(小程序/开放平台)加密数据解密需要引入依赖org.bouncycastle:bcprov-jdk15to18)
AESUtils使用示例:
//微信平台(小程序/开放平台)加密数据解密
String encryptedData = "CiyLU1Aw2KjvrjMdj8YKliAjtP4gsMZMQmRzooG2xrDcvSnxIMXFufNstNGTyaGS9uT5geRa0W4oTOb1WT7fJlAC+oNPdbB+3hVbJSRgv+4lGOETKUQz6OYStslQ142dNCuabNPGBzlooOmB231qMM85d2/fV6ChevvXvQP8Hkue1poOFtnEtpyxVLW1zAo6/1Xx1COxFvrc2d7UL/lmHInNlxuacJXwu0fjpXfz/YqYzBIBzD6WUfTIF9GRHpOn/Hz7saL8xz+W//FRAUid1OksQaQx4CMs8LOddcQhULW4ucetDf96JcR3g0gfRK4PC7E/r7Z6xNrXd2UIeorGj5Ef7b1pJAYB6Y5anaHqZ9J6nKEBvB4DnNLIVWSgARns/8wR2SiRS7MNACwTyrGvt9ts8p12PKFdlqYTopNHR1Vf7XjfhQlVsAJdNiKdYmYVoKlaRv85IfVunYzO0IKXsyl7JCUjCpoG20f0a04COwfneQAGGwd5oa+T8yO5hzuyDb/XcxxmK01EpqOyuxINew==";
String sessionKey = "tiihtNczf5v6AKRyjwEUhQ==";
String iv = "r7BXXKkLb8qrSNn05n0qiA==";
System.out.println("微信数据解密:"+AESUtils.wxDecrypt(encryptedData, sessionKey, iv));
//普通 加密/解密
String key = getKey();
System.out.println("密钥:"+key);
String encData = encrypt("Hello Word", key);
System.out.println("加密密文:"+encData);
System.out.println("解密原文:"+decrypt(encData, key));
- FfmpegUtils:视频编码获取及转码工具(需要安装ffmpeg及非Spring Boot应用引入Jackson依赖)
FfmpegUtils使用示例:
FfmpegUtils ffmpegUtils = new FfmpegUtils();
//获取编码信息:
ffmpegUtils.initEncodingFormat("/opt/test.mp4");
System.out.println(ffmpegUtils.getFormatParams().getVideoCodecLongName());
System.out.println(ffmpegUtils.getFormatParams().getAudioCodecLongName());
System.out.println(ffmpegUtils.getFormatParams().isMP4H264());
//转码:
ffmpegUtils.transcodeH264("/opt/test.mp4", "/opt/out-test.mp4");
引入需要的依赖org.bouncycastle:bcprov-jdk15to18(请前往Maven中央库搜索,查找对应JDK的最新版本。):
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15to18</artifactId>
<version>1.70</version>
</dependency>
非Spring Boot应用引入需要的Jackson依赖(请前往Maven中央库搜索,查找对应JDK的最新版本。)
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.13.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.13.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.1</version>
</dependency>
- RedisUtils使用:
RedisUtils需要引入spring-boot-starter-data-redis依赖,此依赖为Spring Boot自带,不需要加版本号
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
RedisUtils使用示例(仅限Spring Boot项目):
- 注入RedisUtils(也可以使用构造函数注入)
@Autowired
private RedisUtils redisUtils;
- 通过redisUtils.方法名使用
- Nutz(部分注解)
- 其他网络资源
MIT License