liupeng 5 年之前
父节点
当前提交
ece1a5c7b6
共有 1 个文件被更改,包括 5 次插入7 次删除
  1. 5 7
      code/sapparent/sapservice/src/main/java/org/fouram/core/util/AESOperator.java

+ 5 - 7
code/sapparent/sapservice/src/main/java/org/fouram/core/util/AESOperator.java

@@ -6,13 +6,11 @@ import javax.crypto.Cipher;
 import javax.crypto.spec.IvParameterSpec;
 import javax.crypto.spec.SecretKeySpec;
 
-import sun.misc.BASE64Decoder;
-import sun.misc.BASE64Encoder;
+import java.util.Base64;
 
 /**
  * AES 是一种可逆加密算法,对用户的敏感信息加密处理 对原始数据进行AES加密后,在进行Base64编码转化;
  */
-@SuppressWarnings("restriction")
 public class AESOperator {
 
 	/*
@@ -40,7 +38,7 @@ public class AESOperator {
 		IvParameterSpec iv = new IvParameterSpec(ivParameter.getBytes());// 使用CBC模式,需要一个向量iv,可增加加密算法的强度
 		cipher.init(Cipher.ENCRYPT_MODE, skeySpec, iv);
 		byte[] encrypted = cipher.doFinal(sSrc.getBytes("utf-8"));
-		return new BASE64Encoder().encode(encrypted);// 此处使用BASE64做转码。
+		return Base64.getEncoder().encodeToString(encrypted);// 此处使用BASE64做转码。
 	}
 
 	// 解密
@@ -51,7 +49,7 @@ public class AESOperator {
 			Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
 			IvParameterSpec iv = new IvParameterSpec(ivParameter.getBytes());
 			cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
-			byte[] encrypted1 = new BASE64Decoder().decodeBuffer(sSrc);// 先用base64解密
+			byte[] encrypted1 = Base64.getDecoder().decode(sSrc);// 先用base64解密
 			byte[] original = cipher.doFinal(encrypted1);
 			String originalString = new String(original, "utf-8");
 			return originalString;
@@ -68,7 +66,7 @@ public class AESOperator {
 		IvParameterSpec iv = new IvParameterSpec(ivParameter.getBytes());// 使用CBC模式,需要一个向量iv,可增加加密算法的强度
 		cipher.init(Cipher.ENCRYPT_MODE, skeySpec, iv);
 		byte[] encrypted = cipher.doFinal(sSrc.getBytes("utf-8"));
-		return new BASE64Encoder().encode(encrypted);// 此处使用BASE64做转码。
+		return Base64.getEncoder().encodeToString(encrypted);// 此处使用BASE64做转码。
 	}
 
 	// 解密 + sKey
@@ -79,7 +77,7 @@ public class AESOperator {
 			Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
 			IvParameterSpec iv = new IvParameterSpec(ivParameter.getBytes());
 			cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
-			byte[] encrypted1 = new BASE64Decoder().decodeBuffer(sSrc);// 先用base64解密
+			byte[] encrypted1 = Base64.getDecoder().decode(sSrc);// 先用base64解密
 			byte[] original = cipher.doFinal(encrypted1);
 			String originalString = new String(original, "utf-8");
 			return originalString;