一、问题:更新了JDK版本后,发现项目中的sun.misc.Base64Encoder和sun.misc.Base64Decoder无法使用。
二、原因:JDK中的/lib/tool.jar和/lib/rt.jar已经从Java SE 9中删除
三、问题解决:用JDK 9 之后的加解密方式替换掉JDK 9 之前的
图片加密:表示图片转base64
图片解密:表示base64转图片
1、JDK 9 之前使用的图片加解密(旧的):
a)加密:
BASE64Encoder encoder = new BASE64Encoder();
String imagestr = encoder.encode(captcha);
b)解密:
BASE64Decoder decoder = new BASE64Decoder();
byte[] bytes = decoder.decodeBuffer(imagestr);
2、JDK 9之后的图片加解密(新的):
a)导入包
import java.util.Base64.Encoder;
import java.util.Base64.Decoder;
import java.util.Base64;
b)图片加密:
Encoder encoder = Base64.getEncoder();
String result = encoder.encodeToString(byteArray);
c)图片解密:
Decoder decoder = Base64.getDecoder();
byte[] result = decoder.decode(str);
欢迎大家阅读,本人见识有限,写的博客难免有错误或者疏忽的地方,还望各位大佬指点,在此表示感谢。