Skip to content

Commit 54d5915

Browse files
committed
aes encode decode
1 parent a5075a8 commit 54d5915

File tree

14 files changed

+178
-22
lines changed

14 files changed

+178
-22
lines changed

pom.xml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
<groupId>com.codingapi.springboot</groupId>
1313
<artifactId>springboot-parent</artifactId>
14-
<version>1.1.2</version>
14+
<version>1.1.3</version>
1515

1616
<url>https://github.com/codingapi/springboot-framewrok</url>
1717
<name>springboot-parent</name>
@@ -37,6 +37,7 @@
3737
<commons-dbutils.version>1.7</commons-dbutils.version>
3838
<org.reflections.version>0.10.2</org.reflections.version>
3939
<perf4j.version>0.9.16</perf4j.version>
40+
<commons-crypto.version>1.1.0</commons-crypto.version>
4041

4142
</properties>
4243

@@ -72,6 +73,12 @@
7273
<version>${org.reflections.version}</version>
7374
</dependency>
7475

76+
<dependency>
77+
<groupId>org.apache.commons</groupId>
78+
<artifactId>commons-crypto</artifactId>
79+
<version>${commons-crypto.version}</version>
80+
</dependency>
81+
7582
<dependency>
7683
<groupId>org.perf4j</groupId>
7784
<artifactId>perf4j</artifactId>

springboot-example/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.codingapi.springboot</groupId>
66
<artifactId>springboot-parent</artifactId>
7-
<version>1.1.2</version>
7+
<version>1.1.3</version>
88
</parent>
99
<artifactId>springboot-example</artifactId>
1010

springboot-starter-data-permission/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<artifactId>springboot-parent</artifactId>
88
<groupId>com.codingapi.springboot</groupId>
9-
<version>1.1.2</version>
9+
<version>1.1.3</version>
1010
</parent>
1111

1212

springboot-starter-security-jwt/pom.xml

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<artifactId>springboot-parent</artifactId>
88
<groupId>com.codingapi.springboot</groupId>
9-
<version>1.1.2</version>
9+
<version>1.1.3</version>
1010
</parent>
1111

1212
<artifactId>springboot-starter-security-jwt</artifactId>
@@ -19,6 +19,7 @@
1919
</properties>
2020

2121
<dependencies>
22+
2223
<dependency>
2324
<groupId>org.springframework.boot</groupId>
2425
<artifactId>spring-boot-starter-security</artifactId>
@@ -35,12 +36,6 @@
3536
<scope>test</scope>
3637
</dependency>
3738

38-
<dependency>
39-
<groupId>commons-io</groupId>
40-
<artifactId>commons-io</artifactId>
41-
</dependency>
42-
43-
4439
<dependency>
4540
<groupId>io.jsonwebtoken</groupId>
4641
<artifactId>jjwt-api</artifactId>

springboot-starter-security-jwt/src/main/java/com/codingapi/springboot/security/filter/MyAuthenticationFilter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse
4343

4444
Token token = jwt.parser(sign);
4545
if(token.canRestToken()){
46-
Token newSign = jwt.create(token.getUsername(), token.getAuthorities());
46+
Token newSign = jwt.create(token.getUsername(),token.getPassword(),token.getAuthorities());
4747
log.info("reset token ");
4848
response.setHeader(TOKEN_KEY,newSign.getToken());
4949
}

springboot-starter-security-jwt/src/main/java/com/codingapi/springboot/security/filter/MyLoginFilter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,9 @@ public Authentication attemptAuthentication(HttpServletRequest request, HttpServ
6161
protected void successfulAuthentication(HttpServletRequest request, HttpServletResponse response, FilterChain chain, Authentication authResult) throws IOException, ServletException {
6262
log.debug("login success authentication ~");
6363
User user = (User) authResult.getPrincipal();
64+
LoginRequest loginRequest = LoginRequestContext.getInstance().get();
6465

65-
Token token = jwt.create(user.getUsername(),user.getAuthorities().stream().map(GrantedAuthority::getAuthority).collect(Collectors.toList()));
66+
Token token = jwt.create(user.getUsername(),loginRequest.getPassword(),user.getAuthorities().stream().map(GrantedAuthority::getAuthority).collect(Collectors.toList()));
6667

6768
LoginResponse login = new LoginResponse();
6869
login.setUsername(user.getUsername());

springboot-starter-security-jwt/src/main/java/com/codingapi/springboot/security/jwt/Jwt.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import io.jsonwebtoken.io.Decoders;
99
import io.jsonwebtoken.security.Keys;
1010

11+
import java.io.IOException;
1112
import java.security.Key;
1213
import java.util.List;
1314

@@ -23,10 +24,10 @@ public Jwt(String secretKey, int jwtTime, int jwtRestTime) {
2324
this.jwtRestTime = jwtRestTime;
2425
}
2526

26-
public Token create(String username,List<String> authorities){
27-
Token token = new Token(username,authorities,jwtTime,jwtRestTime);
28-
String id = Jwts.builder().setSubject(token.toJson()).signWith(key).compact();
29-
token.setToken(id);
27+
public Token create(String username,String password,List<String> authorities) throws IOException {
28+
Token token = new Token(username,password,authorities,jwtTime,jwtRestTime);
29+
String jwt = Jwts.builder().setSubject(token.toJson()).signWith(key).compact();
30+
token.setToken(jwt);
3031
return token;
3132
}
3233

springboot-starter-security-jwt/src/main/java/com/codingapi/springboot/security/jwt/Token.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package com.codingapi.springboot.security.jwt;
22

3-
import com.codingapi.springboot.security.exception.TokenExpiredException;
3+
import com.codingapi.springboot.framework.crypto.AESUtils;
44
import com.codingapi.springboot.framework.serializable.JsonSerializable;
5+
import com.codingapi.springboot.security.exception.TokenExpiredException;
56
import lombok.Getter;
67
import lombok.Setter;
78
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
89
import org.springframework.security.core.authority.SimpleGrantedAuthority;
910

1011
import java.beans.Transient;
12+
import java.io.IOException;
1113
import java.util.ArrayList;
1214
import java.util.Collection;
1315
import java.util.List;
@@ -17,17 +19,19 @@
1719
public class Token implements JsonSerializable {
1820

1921
private String username;
22+
private String password;
23+
private String token;
2024
private List<String> authorities;
2125
private long expireTime;
22-
2326
private long remindTime;
24-
private String token;
27+
2528

2629
public Token() {
2730
}
2831

29-
public Token(String username,List<String> authorities, int expireValue, int remindValue) {
32+
public Token(String username,String password,List<String> authorities, int expireValue, int remindValue) throws IOException {
3033
this.username = username;
34+
this.password = AESUtils.getInstance().encodeToBase64(password);
3135
this.authorities = authorities;
3236
this.expireTime = System.currentTimeMillis()+expireValue;
3337
this.remindTime = System.currentTimeMillis()+remindValue;
@@ -44,6 +48,7 @@ public boolean isExpire(){
4448
return expireTime <= System.currentTimeMillis();
4549
}
4650

51+
4752
public boolean canRestToken() {
4853
return !isExpire() && remindTime <= System.currentTimeMillis();
4954
}
@@ -55,7 +60,7 @@ public UsernamePasswordAuthenticationToken getAuthenticationToken(){
5560
for(String authority:authorities){
5661
simpleGrantedAuthorities.add(new SimpleGrantedAuthority(authority));
5762
}
58-
return new UsernamePasswordAuthenticationToken(username,token,simpleGrantedAuthorities);
63+
return new UsernamePasswordAuthenticationToken(this,password,simpleGrantedAuthorities);
5964
}
6065

6166

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.codingapi.springboot.security.jwt;
2+
3+
import com.codingapi.springboot.framework.crypto.AES;
4+
import lombok.SneakyThrows;
5+
import org.junit.jupiter.api.Test;
6+
7+
class TokenTest {
8+
9+
@SneakyThrows
10+
@Test
11+
void aesTest() {
12+
AES aes = new AES("1234567890123456","1234567890123456");
13+
final String input = "hello world!";
14+
String encode = aes.encodeToBase64(input);
15+
System.out.println(encode);
16+
String decode = aes.decodeToBase64(encode);
17+
System.out.println(decode);
18+
}
19+
20+
21+
}

springboot-starter/pom.xml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.codingapi.springboot</groupId>
66
<artifactId>springboot-parent</artifactId>
7-
<version>1.1.2</version>
7+
<version>1.1.3</version>
88
</parent>
99
<artifactId>springboot-starter</artifactId>
1010

@@ -25,6 +25,16 @@
2525
<artifactId>fastjson</artifactId>
2626
</dependency>
2727

28+
<dependency>
29+
<groupId>org.apache.commons</groupId>
30+
<artifactId>commons-crypto</artifactId>
31+
</dependency>
32+
33+
<dependency>
34+
<groupId>commons-io</groupId>
35+
<artifactId>commons-io</artifactId>
36+
</dependency>
37+
2838
</dependencies>
2939

3040
</project>

0 commit comments

Comments
 (0)