【add】添加返回RSA私钥接口

This commit is contained in:
mzc5649
2021-04-15 15:12:16 +08:00
parent b17ea544cc
commit 6ed87e66da
@@ -33,6 +33,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.security.*;
import java.util.*; import java.util.*;
/** /**
@@ -118,7 +119,7 @@ public class LoginController {
// 重试登录次数加一 // 重试登录次数加一
retryCount++; retryCount++;
if( retryCount == 1){ if( retryCount == 1){
redisUtil.set(RETRY_LOGIN_PREFIX + username,retryCount, 1000 * 60 * 30); redisUtil.set(RETRY_LOGIN_PREFIX + username,retryCount, 60 * 30);
}else { }else {
redisUtil.set(RETRY_LOGIN_PREFIX + username,retryCount,redisUtil.getExpire(RETRY_LOGIN_PREFIX + username)); redisUtil.set(RETRY_LOGIN_PREFIX + username,retryCount,redisUtil.getExpire(RETRY_LOGIN_PREFIX + username));
} }
@@ -526,5 +527,33 @@ public class LoginController {
} }
return Result.OK(); return Result.OK();
} }
/**
* 返回一个RSA公钥
* @author 马志朝
* @date 2021/4/15 15:01
* @param
* @return com.jero.common.api.vo.Result<java.lang.String>
*/
public Result<String> getRSAPublicKey(){
KeyPairGenerator keyPairGenerator = null;
try {
keyPairGenerator = KeyPairGenerator.getInstance("RSA");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
assert keyPairGenerator != null;
KeyPair keyPair = keyPairGenerator.generateKeyPair();
// 得到私钥
PrivateKey privateKey = keyPair.getPrivate();
// 得到公钥
PublicKey publicKey = keyPair.getPublic();
//base64编码
String privateKeyBase64 = Base64.getEncoder().encodeToString(privateKey.getEncoded());
String publicKeyBase64 = Base64.getEncoder().encodeToString(publicKey.getEncoded());
//存到redis key为公钥 value为私钥
redisUtil.set(publicKeyBase64, privateKeyBase64, 60 * 60L);
Result<String> result = new Result<>();
result.setResult(publicKeyBase64);
return result;
}
} }