Browse Source

新增加密工具类

master
zhangye 3 years ago
parent
commit
9fcb357ca2
  1. 18
      util/src/main/java/com/ccsens/util/SymmetricCryptoUtil.java
  2. 10
      util/src/test/java/com/ccsens/util/OtherTest.java

18
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.SecureUtil;
import cn.hutool.crypto.symmetric.SymmetricAlgorithm; import cn.hutool.crypto.symmetric.SymmetricAlgorithm;
import cn.hutool.crypto.symmetric.SymmetricCrypto; import cn.hutool.crypto.symmetric.SymmetricCrypto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/** /**
* @author * @author
*/ */
@Slf4j
@Component
public class SymmetricCryptoUtil { public class SymmetricCryptoUtil {
/**生成密钥*/ /**生成密钥*/
public String generateKey(){ public static String generateKey(){
byte[] key = SecureUtil.generateKey(SymmetricAlgorithm.AES.getValue()).getEncoded(); byte[] key = SecureUtil.generateKey(SymmetricAlgorithm.AES.getValue()).getEncoded();
return Base64.encode(key); 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)); SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.AES, Base64.decode(key));
return aes.encryptHex(value); 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)); 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;
} }
} }

10
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}$"; 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 @Test
public void test18() { public void test18() {
// RSA rsa = new RSA(); // RSA rsa = new RSA();

Loading…
Cancel
Save