mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-14 05:42:06 +08:00
token管理,token生成规则修改
This commit is contained in:
+28
-7
@@ -60,7 +60,7 @@ public class TokenConfigServiceImpl implements TokenConfigService{
|
|||||||
@Resource
|
@Resource
|
||||||
private JwtConfig jwtConfig;
|
private JwtConfig jwtConfig;
|
||||||
|
|
||||||
|
private static final String FIELD_IMES = "imes-";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<TokenConfigRespVO> getTokenConfigPage(TokenConfigPageReqVO pageReqVO) {
|
public PageResult<TokenConfigRespVO> getTokenConfigPage(TokenConfigPageReqVO pageReqVO) {
|
||||||
@@ -208,7 +208,12 @@ public class TokenConfigServiceImpl implements TokenConfigService{
|
|||||||
@Override
|
@Override
|
||||||
public Long checkTokenConfig(String token) {
|
public Long checkTokenConfig(String token) {
|
||||||
|
|
||||||
TokenConfigDO tokenConfigDO = tokenConfigMapper.selectByToken(token);
|
String substring = token.substring(0, 5);
|
||||||
|
if(!FIELD_IMES.equals(substring)){
|
||||||
|
throw exception(TOKEN_DATA_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
TokenConfigDO tokenConfigDO = tokenConfigMapper.selectByToken(token.substring(5));
|
||||||
|
|
||||||
if(tokenConfigDO == null){
|
if(tokenConfigDO == null){
|
||||||
throw exception(TOKEN_CONFIG_NOT_EXISTS);
|
throw exception(TOKEN_CONFIG_NOT_EXISTS);
|
||||||
@@ -243,7 +248,7 @@ public class TokenConfigServiceImpl implements TokenConfigService{
|
|||||||
|
|
||||||
TokenConfigDO tokenConfigDO = validateTokenConfigExists(id);
|
TokenConfigDO tokenConfigDO = validateTokenConfigExists(id);
|
||||||
|
|
||||||
return tokenConfigDO.getAppToken();
|
return FIELD_IMES+tokenConfigDO.getAppToken();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -285,14 +290,30 @@ public class TokenConfigServiceImpl implements TokenConfigService{
|
|||||||
claims.put("organId", organId);
|
claims.put("organId", organId);
|
||||||
claims.put("mobile", mobile);
|
claims.put("mobile", mobile);
|
||||||
claims.put("appType",appType);
|
claims.put("appType",appType);
|
||||||
|
claims.put("nowTime",System.currentTimeMillis());
|
||||||
String token = generateToken(claims, base64SecretKey);
|
String token = generateToken(claims, base64SecretKey);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
MessageDigest digest = MessageDigest.getInstance("SHA-256");
|
// 使用 SHA-256 处理 生成的 token
|
||||||
byte[] hash = digest.digest(token.getBytes());
|
MessageDigest shaDigest = MessageDigest.getInstance("SHA-256");
|
||||||
|
byte[] hash = shaDigest.digest(token.getBytes());
|
||||||
|
|
||||||
token = Base64.getEncoder().encodeToString(hash);
|
token = Base64.getEncoder().encodeToString(hash).toLowerCase();
|
||||||
|
|
||||||
|
// 使用 MD5 对 token 进行二次处理
|
||||||
|
MessageDigest md = MessageDigest.getInstance("MD5");
|
||||||
|
byte[] md5Digest = md.digest(token.getBytes());
|
||||||
|
|
||||||
|
StringBuilder hexString = new StringBuilder();
|
||||||
|
for (byte b : md5Digest) {
|
||||||
|
String hex = Integer.toHexString(0xff & b);
|
||||||
|
if (hex.length() == 1) {
|
||||||
|
hexString.append('0'); // 确保转换后的字符串是两位
|
||||||
|
}
|
||||||
|
hexString.append(hex);
|
||||||
|
}
|
||||||
|
token = hexString.toString();
|
||||||
|
|
||||||
}catch (NoSuchAlgorithmException e){
|
}catch (NoSuchAlgorithmException e){
|
||||||
|
|
||||||
@@ -309,7 +330,7 @@ public class TokenConfigServiceImpl implements TokenConfigService{
|
|||||||
|
|
||||||
public static String maskString(String input) {
|
public static String maskString(String input) {
|
||||||
int length = input.length();
|
int length = input.length();
|
||||||
return input.substring(0, 4) + "*".repeat(length - 8) + input.substring(length - 4);
|
return FIELD_IMES+input.substring(0, 8) + "*".repeat(length - 8) + input.substring(length - 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user