From 9fcb357ca282e19861c8330681f2771dfe8bed15 Mon Sep 17 00:00:00 2001 From: zhangye <654600784@qq.com> Date: Mon, 11 Apr 2022 11:00:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8A=A0=E5=AF=86=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/util/SymmetricCryptoUtil.java | 18 ++++++++++++++---- .../test/java/com/ccsens/util/OtherTest.java | 10 +++++++++- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/util/src/main/java/com/ccsens/util/SymmetricCryptoUtil.java b/util/src/main/java/com/ccsens/util/SymmetricCryptoUtil.java index e578dc4..48cb55c 100644 --- a/util/src/main/java/com/ccsens/util/SymmetricCryptoUtil.java +++ b/util/src/main/java/com/ccsens/util/SymmetricCryptoUtil.java @@ -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; } } diff --git a/util/src/test/java/com/ccsens/util/OtherTest.java b/util/src/test/java/com/ccsens/util/OtherTest.java index 3a9d08f..654d51d 100644 --- a/util/src/test/java/com/ccsens/util/OtherTest.java +++ b/util/src/test/java/com/ccsens/util/OtherTest.java @@ -37,7 +37,15 @@ public class OtherTest { public static final String REGEX_PHONE = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[013678])|(18[0,1-9]))\\d{8}$"; - + @Test + public void test19() { + String s = SymmetricCryptoUtil.generateKey(); + String s1 = SymmetricCryptoUtil.encrypt(s, "测试的文字"); + String s2 = SymmetricCryptoUtil.decode(s, "测试的文字"); + System.out.println(s); + System.out.println(s1); + System.out.println(s2); + } @Test public void test18() { // RSA rsa = new RSA();