|
|
@ -5,28 +5,38 @@ import cn.hutool.core.util.CharsetUtil; |
|
|
|
import cn.hutool.crypto.SecureUtil; |
|
|
|
import cn.hutool.crypto.symmetric.SymmetricAlgorithm; |
|
|
|
import cn.hutool.crypto.symmetric.SymmetricCrypto; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.stereotype.Component; |
|
|
|
|
|
|
|
/** |
|
|
|
* @author 逗 |
|
|
|
*/ |
|
|
|
@Slf4j |
|
|
|
@Component |
|
|
|
public class SymmetricCryptoUtil { |
|
|
|
|
|
|
|
/**生成密钥*/ |
|
|
|
public String generateKey(){ |
|
|
|
public static String generateKey(){ |
|
|
|
byte[] key = SecureUtil.generateKey(SymmetricAlgorithm.AES.getValue()).getEncoded(); |
|
|
|
return Base64.encode(key); |
|
|
|
} |
|
|
|
|
|
|
|
/**加密*/ |
|
|
|
public String encrypt(String key, String value){ |
|
|
|
public static String encrypt(String key, String value){ |
|
|
|
SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.AES, Base64.decode(key)); |
|
|
|
return aes.encryptHex(value); |
|
|
|
} |
|
|
|
|
|
|
|
/**解密*/ |
|
|
|
public String decode(String key, String encryptString){ |
|
|
|
public static String decode(String key, String encryptString){ |
|
|
|
SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.AES, Base64.decode(key)); |
|
|
|
//解密为字符串
|
|
|
|
return aes.decryptStr(encryptString, CharsetUtil.CHARSET_UTF_8); |
|
|
|
String decodeString = null; |
|
|
|
try { |
|
|
|
decodeString = aes.decryptStr(encryptString, CharsetUtil.CHARSET_UTF_8); |
|
|
|
}catch (Exception e){ |
|
|
|
log.error("解密失败"); |
|
|
|
} |
|
|
|
return decodeString; |
|
|
|
} |
|
|
|
} |
|
|
|