parent
84a979b1df
commit
74a75572b7
@ -0,0 +1,14 @@
|
||||
package com.ruoyi.jjh.declaration.single.dto.request;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 获取用户信息请求类
|
||||
* @author du
|
||||
* @since 2024/6/20 11:20
|
||||
*/
|
||||
@Data
|
||||
public class UserInfoRequestDTO {
|
||||
private String clientId;
|
||||
private String userToken;
|
||||
}
|
@ -0,0 +1,72 @@
|
||||
package com.ruoyi.jjh.declaration.single.util;
|
||||
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
|
||||
import javax.crypto.Cipher;
|
||||
import javax.crypto.Mac;
|
||||
import javax.crypto.spec.IvParameterSpec;
|
||||
import javax.crypto.spec.SecretKeySpec;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
/**
|
||||
* 签名验证
|
||||
* @author du
|
||||
* @since 2024/6/20 10:15
|
||||
*/
|
||||
public class HMAC256Config {
|
||||
|
||||
/**
|
||||
* 加解密统一编码方式
|
||||
*/
|
||||
private final static String ENCODING = "utf-8";
|
||||
|
||||
/**
|
||||
* 加解密方式
|
||||
*/
|
||||
private final static String ALGORITHM = "AES";
|
||||
|
||||
/**
|
||||
*加密模式及填充方式
|
||||
*/
|
||||
private final static String PATTERN = "AES/CBC/pkcs5padding";
|
||||
|
||||
//AES解密
|
||||
/**
|
||||
* @param content 密文
|
||||
* @param key aes密钥
|
||||
* @return 原文
|
||||
* @throws Exception
|
||||
*/
|
||||
public static String decrypt(String content, String key) throws Exception {
|
||||
|
||||
//反序列化AES密钥
|
||||
SecretKeySpec keySpec = new SecretKeySpec(Base64.decodeBase64(key.getBytes()), ALGORITHM);
|
||||
|
||||
//128bit全零的IV向量
|
||||
byte[] iv = new byte[16];
|
||||
for (int i = 0; i < iv.length; i++) {
|
||||
iv[i] = 0;
|
||||
}
|
||||
IvParameterSpec ivParameterSpec = new IvParameterSpec(iv);
|
||||
|
||||
//初始化加密器并加密
|
||||
Cipher deCipher = Cipher.getInstance(PATTERN);
|
||||
deCipher.init(Cipher.DECRYPT_MODE, keySpec, ivParameterSpec);
|
||||
byte[] encryptedBytes = Base64.decodeBase64(content.getBytes(ENCODING));
|
||||
byte[] bytes = deCipher.doFinal(encryptedBytes);
|
||||
return new String(bytes);
|
||||
}
|
||||
|
||||
public static byte[] HmacSHA256(String data,String key) throws Exception {
|
||||
Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
|
||||
SecretKeySpec secret_key = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), "HmacSHA256");
|
||||
sha256_HMAC.init(secret_key);
|
||||
byte[] array = sha256_HMAC.doFinal(data.getBytes(StandardCharsets.UTF_8));
|
||||
return array;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in new issue