Kaynağa Gözat

1、注释测试方法
2、sun.misc.BASE64Encoder方法替换为java.util.Base64

ligang134 3 yıl önce
ebeveyn
işleme
1b283eba4e

+ 4 - 3
src/main/java/com/ydtech/modules/ins/service/impl/TiananAPIServiceImpl.java

@@ -15,8 +15,8 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Service;
+import org.springframework.util.Base64Utils;
 import org.springframework.util.StringUtils;
-import sun.misc.BASE64Encoder;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -342,8 +342,9 @@ public class TiananAPIServiceImpl implements TiananAPIService {
             fis = new FileInputStream(file);
             byte[] bytes = new byte[(int) file.length()];
             fis.read(bytes);
-            BASE64Encoder encoder = new BASE64Encoder();
-            fileByteStr = encoder.encode(bytes);
+            fileByteStr = Base64.getEncoder().encodeToString(bytes);
+//            BASE64Encoder encoder = new BASE64Encoder();
+//            fileByteStr = encoder.encode(bytes);
 //            System.out.println("加密后文件字符串"+fileByteStr);
         } catch (Exception e) {
             e.printStackTrace();

+ 10 - 12
src/main/java/com/ydtech/utils/Base64Utils.java

@@ -1,17 +1,11 @@
 package com.ydtech.utils;
 
-import java.io.UnsupportedEncodingException;
-import java.nio.charset.StandardCharsets;
-import java.util.Arrays;
 
-import sun.misc.BASE64Decoder;
-import sun.misc.BASE64Encoder;
+import java.nio.charset.StandardCharsets;
+import java.util.Base64;
 
 /**
- * @ClassName base64Utils
- * @Description: TODO
- * @Author
- * @Date 2021/6/4
+ * 2021/6/4
  **/
 public class Base64Utils {
     /**
@@ -41,7 +35,10 @@ public class Base64Utils {
         byte[] b = null;
         String s = null;
         b = str.getBytes(StandardCharsets.UTF_8);
-        s = new BASE64Encoder().encode(b);
+
+
+        s = Base64.getEncoder().encodeToString(b);
+//        s = new BASE64Encoder().encode(b);
         return s;
     }
 
@@ -50,9 +47,10 @@ public class Base64Utils {
         byte[] b = null;
         String result = null;
         if (s != null) {
-            BASE64Decoder decoder = new BASE64Decoder();
+//            BASE64Decoder decoder = new BASE64Decoder();
             try {
-                b = decoder.decodeBuffer(s);
+//                b = decoder.decodeBuffer(s);
+                b = Base64.getDecoder().decode(s);
                 result = new String(b, StandardCharsets.UTF_8);
             } catch (Exception e) {
                 e.printStackTrace();

+ 4 - 4
src/main/java/com/ydtech/utils/HMAC256Uitil.java

@@ -1,12 +1,11 @@
 package com.ydtech.utils;
 
-import sun.misc.BASE64Encoder;
 
 import javax.crypto.Mac;
 import javax.crypto.spec.SecretKeySpec;
 import java.io.UnsupportedEncodingException;
 import java.security.InvalidKeyException;
-import java.security.NoSuchAlgorithmException;
+import java.util.Base64;
 
 public class HMAC256Uitil {
     //hmac256
@@ -29,10 +28,11 @@ public class HMAC256Uitil {
             } catch (UnsupportedEncodingException e) {
                 e.printStackTrace();
             }
-            BASE64Encoder base64Encoder = new BASE64Encoder();
+//            BASE64Encoder base64Encoder = new BASE64Encoder();
 
 //            byte[] bytes = data.getBytes("utf-8");
-            encode = base64Encoder.encode(bytes);
+            encode = Base64.getEncoder().encodeToString(bytes);
+//            encode = base64Encoder.encode(bytes);
             System.out.println("加密后--" + encode);
         } catch (Exception e) {
             e.printStackTrace();

+ 81 - 81
src/test/java/JSDemo.java

@@ -1,81 +1,81 @@
-
-import org.springframework.util.ResourceUtils;
-
-import java.io.*;
-import java.net.URL;
-import java.util.List;
-
-import javax.script.Invocable;
-import javax.script.ScriptEngine;
-import javax.script.ScriptEngineManager;
-
-/**
- * java 中的脚本引擎
- * @author xzlf
- *
- */
-public class JSDemo {
-    public static void main(String[] args) throws Exception {
-        // 获取脚本引擎对象
-        ScriptEngineManager manager = new ScriptEngineManager();
-        ScriptEngine engine = manager.getEngineByName("javascript");
-        // 定义变量
-        engine.put("msg", "Hello World!");
-        String str = "var user = {name:'张三', age:18};";
-        str += "print(user.name);";
-        // 执行脚本
-        engine.eval(str);
-        engine.eval("msg='Hello Java'");
-        System.out.println(engine.get("msg"));
-
-        // 定义函数
-        engine.eval("function add(a, b){ return a +b;}");
-        // 取得调用接口
-        Invocable jsInvocable = (Invocable) engine;
-        // 执行脚本中定义的方法
-        Object result = jsInvocable.invokeFunction("add", 11, 12);
-        System.out.println(result);
-
-        // 导入java包,使用其他包中的java类
-        String jsCode = "var list = java.util.Arrays.asList([\"Java\", \"Html\", \"MySQL\"])";
-        engine.eval(jsCode);
-        List<String> list = (List<String>) engine.get("list");
-        for (String string : list) {
-            System.out.println(string);
-        }
-
-        File filepath = new File(JSDemo.class.getClass().getResource("/").getPath());
-        System.out.println(filepath);
-
-//        File directory = new File("");//参数为空
-//        String courseFile = directory.getCanonicalPath() ;
-//        System.out.println(courseFile);
-
-//        URL xmlpath = JSDemo.class.getClass().getClassLoader().getResource("picc.js");
-//        System.out.println(xmlpath);
-
-//        String uploadDir= ResourceUtils.getURL("classpath:").getPath()+"";
-//        System.out.println(uploadDir);
-        // 执行js 文件(js文件放在src下)
-        Reader reader = new BufferedReader(
-                new InputStreamReader(new FileInputStream("src/test/picc.js")));
-        engine.eval(reader);
-        // 取得调用接口
-        jsInvocable = (Invocable) engine;
-        // 执行脚本中定义的方法
-        result = jsInvocable.invokeFunction("strDec", "7EF85F2C732A4BE5CA3179151F8B59197921B89E86AAD9A5", "*","$" ,"@");
-        System.out.println(result);
-
-        Object result2 = jsInvocable.invokeFunction("strDec", "9820FD0729215F11", result.toString(),"" ,"");
-        System.out.println(result2.toString());
-
-        Object result3 = jsInvocable.invokeFunction("strDec", "01B9D5EBFAE596015FAA4F395D2836F53E302730DB4988129CA09F18ADB16E6D", result2.toString(),result.toString() ,"");
-        System.out.println(result3.toString());
-
-        Object result4 = jsInvocable.invokeFunction("strDec", "9820FD0729215F11", result.toString(),"" ,"");
-        System.out.println(result4.toString());
-
-
-        reader.close();
-    }
-}
+//
+//import org.springframework.util.ResourceUtils;
+//
+//import java.io.*;
+//import java.net.URL;
+//import java.util.List;
+//
+//import javax.script.Invocable;
+//import javax.script.ScriptEngine;
+//import javax.script.ScriptEngineManager;
+//
+///**
+// * java 中的脚本引擎
+// * @author xzlf
+// *
+// */
+//public class JSDemo {
+//    public static void main(String[] args) throws Exception {
+//        // 获取脚本引擎对象
+//        ScriptEngineManager manager = new ScriptEngineManager();
+//        ScriptEngine engine = manager.getEngineByName("javascript");
+//        // 定义变量
+//        engine.put("msg", "Hello World!");
+//        String str = "var user = {name:'张三', age:18};";
+//        str += "print(user.name);";
+//        // 执行脚本
+//        engine.eval(str);
+//        engine.eval("msg='Hello Java'");
+//        System.out.println(engine.get("msg"));
+//
+//        // 定义函数
+//        engine.eval("function add(a, b){ return a +b;}");
+//        // 取得调用接口
+//        Invocable jsInvocable = (Invocable) engine;
+//        // 执行脚本中定义的方法
+//        Object result = jsInvocable.invokeFunction("add", 11, 12);
+//        System.out.println(result);
+//
+//        // 导入java包,使用其他包中的java类
+//        String jsCode = "var list = java.util.Arrays.asList([\"Java\", \"Html\", \"MySQL\"])";
+//        engine.eval(jsCode);
+//        List<String> list = (List<String>) engine.get("list");
+//        for (String string : list) {
+//            System.out.println(string);
+//        }
+//
+//        File filepath = new File(JSDemo.class.getClass().getResource("/").getPath());
+//        System.out.println(filepath);
+//
+////        File directory = new File("");//参数为空
+////        String courseFile = directory.getCanonicalPath() ;
+////        System.out.println(courseFile);
+//
+////        URL xmlpath = JSDemo.class.getClass().getClassLoader().getResource("picc.js");
+////        System.out.println(xmlpath);
+//
+////        String uploadDir= ResourceUtils.getURL("classpath:").getPath()+"";
+////        System.out.println(uploadDir);
+//        // 执行js 文件(js文件放在src下)
+//        Reader reader = new BufferedReader(
+//                new InputStreamReader(new FileInputStream("src/test/picc.js")));
+//        engine.eval(reader);
+//        // 取得调用接口
+//        jsInvocable = (Invocable) engine;
+//        // 执行脚本中定义的方法
+//        result = jsInvocable.invokeFunction("strDec", "7EF85F2C732A4BE5CA3179151F8B59197921B89E86AAD9A5", "*","$" ,"@");
+//        System.out.println(result);
+//
+//        Object result2 = jsInvocable.invokeFunction("strDec", "9820FD0729215F11", result.toString(),"" ,"");
+//        System.out.println(result2.toString());
+//
+//        Object result3 = jsInvocable.invokeFunction("strDec", "01B9D5EBFAE596015FAA4F395D2836F53E302730DB4988129CA09F18ADB16E6D", result2.toString(),result.toString() ,"");
+//        System.out.println(result3.toString());
+//
+//        Object result4 = jsInvocable.invokeFunction("strDec", "9820FD0729215F11", result.toString(),"" ,"");
+//        System.out.println(result4.toString());
+//
+//
+//        reader.close();
+//    }
+//}

+ 89 - 89
src/test/java/Test.java

@@ -1,97 +1,97 @@
-import com.alibaba.fastjson.JSONObject;
-import com.ydtech.modules.admin.model.SysUser;
-import com.ydtech.modules.ins.model.ya.ExtendInfoDto;
-import com.ydtech.modules.inv.model.InvPayableStatement;
-import com.ydtech.security.utils.PasswordEncoder;
-import com.ydtech.security.utils.PasswordUtils;
-import com.ydtech.utils.SnowFlakeUtil;
-import com.ydtech.utils.idgen.IdGenerate;
-import org.mapstruct.factory.Mappers;
-import org.xbill.DNS.utils.base64;
-import sun.misc.BASE64Encoder;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
-
-/**
- * @author qinfenglong
- * @version 1.0.0
- * @description Test
- * @since 2021/3/18 10:09
- */
-public class Test {
-    public static void main(String[] args) {
-
-//        Pattern pattern = Pattern.compile("href=\"(.+?)\"");
-//        Matcher matcher = pattern.matcher("<a href=\"index.html\">主页</a>");
-//        if(matcher.find()){
-//            System.out.println(matcher.group(1));
-//    }
-//        System.out.println(UUID.randomUUID());
+//import com.alibaba.fastjson.JSONObject;
+//import com.ydtech.modules.admin.model.SysUser;
+//import com.ydtech.modules.ins.model.ya.ExtendInfoDto;
+//import com.ydtech.modules.inv.model.InvPayableStatement;
+//import com.ydtech.security.utils.PasswordEncoder;
+//import com.ydtech.security.utils.PasswordUtils;
+//import com.ydtech.utils.SnowFlakeUtil;
+//import com.ydtech.utils.idgen.IdGenerate;
+//import org.mapstruct.factory.Mappers;
+//import org.xbill.DNS.utils.base64;
+//import sun.misc.BASE64Encoder;
+//
+//import java.io.File;
+//import java.io.FileInputStream;
+//import java.io.IOException;
+//import java.util.*;
+//import java.util.regex.Matcher;
+//import java.util.regex.Pattern;
+//import java.util.stream.Collectors;
 //
-//        System.out.println("9fcae42d-c965-42b3-86cc-fc36asbe6c90f".replace("-","").length());
-
-
-//        try{
-////            String result = java.net.URLEncoder.encode("1X7K0pmwPVBqkw+aK91hVA==", "UTF-8");
-////            System.out.println(result);
+///**
+// * @author qinfenglong
+// * @version 1.0.0
+// * @description Test
+// * @since 2021/3/18 10:09
+// */
+//public class Test {
+//    public static void main(String[] args) {
+//
+////        Pattern pattern = Pattern.compile("href=\"(.+?)\"");
+////        Matcher matcher = pattern.matcher("<a href=\"index.html\">主页</a>");
+////        if(matcher.find()){
+////            System.out.println(matcher.group(1));
+////    }
+////        System.out.println(UUID.randomUUID());
 ////
-////            String result2 = java.net.URLDecoder.decode("1X7K0pmwPVBqkw%2BaK91hVA%3D%3D", "UTF-8");
-////            System.out.println(result2);
+////        System.out.println("9fcae42d-c965-42b3-86cc-fc36asbe6c90f".replace("-","").length());
+//
+//
+////        try{
+//////            String result = java.net.URLEncoder.encode("1X7K0pmwPVBqkw+aK91hVA==", "UTF-8");
+//////            System.out.println(result);
+//////
+//////            String result2 = java.net.URLDecoder.decode("1X7K0pmwPVBqkw%2BaK91hVA%3D%3D", "UTF-8");
+//////            System.out.println(result2);
+//////
+//////
+//////            String idno = "140110198506261034";
+//////            System.out.println(idno.substring(6,14));
+//////            System.out.println(idno.substring(16,17));
+//////
+//////            System.out.println("02468".indexOf("0"));
 ////
+//////            imageToStr("F:/a.png");
 ////
-////            String idno = "140110198506261034";
-////            System.out.println(idno.substring(6,14));
-////            System.out.println(idno.substring(16,17));
+////            String base64 = "data:image/jpg;base64,/9j/4AAQSkZJRgABAQEAYA";
+////            String img = "";
+////            if(base64.contains("data:image")){
+////                img = base64.substring(base64.indexOf("data:image/")+11, base64.indexOf(";base64"));
+////                base64 = base64.substring(base64.indexOf("base64,")+7);
+////            }
+////            System.out.println(img);
+////            System.out.println(base64);
 ////
-////            System.out.println("02468".indexOf("0"));
-//
-////            imageToStr("F:/a.png");
+////            //加密后文件字符串iVBORw0KGgoAAAANSUhEUgAAAPcAAAD3C
+////
+////        }catch(Exception e){
+////
+////        }
+//    }
 //
-//            String base64 = "data:image/jpg;base64,/9j/4AAQSkZJRgABAQEAYA";
-//            String img = "";
-//            if(base64.contains("data:image")){
-//                img = base64.substring(base64.indexOf("data:image/")+11, base64.indexOf(";base64"));
-//                base64 = base64.substring(base64.indexOf("base64,")+7);
+//    public static String imageToStr(String imgUrl) {
+//        File file = new File(imgUrl);
+//        FileInputStream fis = null;
+//        String fileByteStr = "";
+//        try {
+//            fis = new FileInputStream(file);
+//            byte[] bytes = new byte[(int) file.length()];
+//            fis.read(bytes);
+//            BASE64Encoder encoder = new BASE64Encoder();
+//            fileByteStr = encoder.encode(bytes);
+//            System.out.println("加密后文件字符串" + fileByteStr);
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        } finally {
+//            if (null != fis) {
+//                try {
+//                    fis.close();
+//                } catch (IOException e) {
+//                    e.printStackTrace();
+//                }
 //            }
-//            System.out.println(img);
-//            System.out.println(base64);
-//
-//            //加密后文件字符串iVBORw0KGgoAAAANSUhEUgAAAPcAAAD3C
-//
-//        }catch(Exception e){
-//
 //        }
-    }
-
-    public static String imageToStr(String imgUrl) {
-        File file = new File(imgUrl);
-        FileInputStream fis = null;
-        String fileByteStr = "";
-        try {
-            fis = new FileInputStream(file);
-            byte[] bytes = new byte[(int) file.length()];
-            fis.read(bytes);
-            BASE64Encoder encoder = new BASE64Encoder();
-            fileByteStr = encoder.encode(bytes);
-            System.out.println("加密后文件字符串" + fileByteStr);
-        } catch (Exception e) {
-            e.printStackTrace();
-        } finally {
-            if (null != fis) {
-                try {
-                    fis.close();
-                } catch (IOException e) {
-                    e.printStackTrace();
-                }
-            }
-        }
-
-        return fileByteStr;
-    }
-}
+//
+//        return fileByteStr;
+//    }
+//}