浏览代码

ReciprocalUtils compatible jdk 17

Crystal.Sea 3 年之前
父节点
当前提交
f4e076d82c
共有 1 个文件被更改,包括 10 次插入1 次删除
  1. 10 1
      maxkey-common/src/main/java/org/maxkey/crypto/ReciprocalUtils.java

+ 10 - 1
maxkey-common/src/main/java/org/maxkey/crypto/ReciprocalUtils.java

@@ -53,6 +53,16 @@ public final class ReciprocalUtils {
         public static final String AES = "AES";
     }
 
+    static {
+        if(System.getProperty("java.version").startsWith("1.8")) {
+            try {
+                Security.addProvider(new com.sun.crypto.provider.SunJCE());
+            }catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
+    
     public static byte[] encode(byte[] simpleBytes, SecretKey secretKey, String algorithm) {
         // Create the ciphers
         Cipher ecipher;
@@ -155,7 +165,6 @@ public final class ReciprocalUtils {
 
     public static SecretKey generatorDefaultKey(String algorithm) {
         try {
-            Security.addProvider(new com.sun.crypto.provider.SunJCE());
             String secretKey = defaultKey;
             if (algorithm.equals(Algorithm.DES)) {
                 secretKey = defaultKey.substring(0, 8);