idea中可能会出现没有sun.misc.BASE64Encoder的jar包。但是64位编码却需要用到.BASE64Encoder。有以下两种方法:
错误现象:
错误原因:
1.JDK改为8(原因是/lib/tool.jar和/lib/rt.jar已经从Java SE 9中删除);
2.更改导入的包;
原来方法:
BASE64Encoder?encoder?=?new?BASE64Encoder();
String?imagestr?=??encoder.encode(captcha);
BASE64Decoder?decoder?=?new?BASE64Decoder();
byte[]?bytes?=?decoder.decodeBuffer(imagestr);
替换后:
import?java.util.Base64.Encoder;
import?java.util.Base64.Decoder;??//加解密的包
?
Encoder?encoder?=?Base64.getEncoder();
String?result?=?encoder.encodeToString(byteArray);
?
Decoder?decoder?=?Base64.getDecoder();
byte[]?result?=?decoder.decode(str);