Skip to content

zfhlm/mrh-crypto-spring-boot-autoconfigure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

mrh-crypto-spring-boot-autoconfigure

加解密工具、登录令牌集成为 spring-boot-starter
简单集成
引入maven配置即可:

	<dependency>
		<groupId>org.lushen.mrh</groupId>
		<artifactId>mrh-crypto-spring-boot-autoconfigure</artifactId>
		<version>1.0</version>
	</dependency>
加解密工具
基于springboot注入加解密bean,需要添加以下配置到 application.properties 文件:

	①,aes加解密配置:
	
		crypto.aes.enabled=true
		crypto.aes.key=123456
	
	②,des加解密配置:
	
		crypto.des.enabled=true
		crypto.des.key=123456
	
	③,3des加解密配置:
	
		crypto.des3.enabled=true
		crypto.des3.key=123456
		crypto.des3.iv=123456
	
	④,默认注入无加解密功能的 CryptoProvider 实现到 spring 上下文容器.
	
	然后注入接口使用:
	
		@Autowired
		private CryptoProvider cryptoProvider;
	
		public void test() {
			cryptoProvider.encrypt(...);
		}

基于纯Java方式使用:

	①,aes加解密:
	
		AesProperties properties = new AesProperties();
		properties.setKey("123456");
		AesCryptoProvider provider = new AesCryptoProvider(properties);
	
	②,des加解密:
	
		DesProperties properties = new DesProperties();
		properties.setKey("123456");
		DesCryptoProvider provider = new DesCryptoProvider(properties);
	
	③,3des加解密:
	
		Des3Properties properties = new Des3Properties();
		properties.setIv("123456");
		properties.setKey("123456");
		Des3CryptoProvider provider = new Des3CryptoProvider(properties);
令牌生成工具
提供两种生成方式:

	①,使用 json web token 生成登录令牌,配置文件需要添加以下配置:
	
		token.jwt.enabled=true
		token.jwt.signature=HS512
		token.jwt.secret=123456
		token.jwt.default-timeout-second=3600
	
	②,使用 CryptoProvider 生成登录令牌,开启或者配置 CryptoProvider bean实现,添加配置:
	
		token.crypto.enabled=true

使用示例:

	①,定义令牌信息对象:
	
		public class MyTokenObject extends TokenObject {
		
			// fields
			
			// getter and setter
		
		}
	
	②,注入bean使用:
	
		@Autowired
		private TokenResolver tokenResolver;
		
		public void test() {
			MyTokenObject object = new MyTokenObject();
			...
			String token = tokenResolver.create(object);
		}
		
		public void test2() {
			String token = ...;
			MyTokenObject object = tokenResolver.parse(token, MyTokenObject.class);
		}

Releases

No releases published

Packages

No packages published

Languages