idea编译报错 sun.misc.BASE64Decoder升级处理
idea编译报错 sun.misc.BASE64Decoder升级处理
警告:
17:01:15 /deploy/jenkins/workspace/auto-java-test/utils/ImageBase64Utils.java:67: warning: BASE64Encoder is internal proprietary API and may be removed in a future release
17:01:15 BASE64Encoder encoder = new BASE64Encoder();
import sun.misc.BASE64Decoder;
替代写法:
//从JDK 1.8开始,就提供了java.util.Base64.Decoder和java.util.Base64.Encoder的JDK公共API,可代替sun.misc.BASE64Decoder和sun.misc.BASE64Encoder的JDK内部API。
//byte[] bytes = new BASE64Decoder().decodeBuffer(base64);
byte[] bytes = Base64.getDecoder().decode(base64);
//或者使用方法
import org.apache.commons.codec.binary.Base64;
return Base64.encodeBase64String(encrypted);
demo测试类
@Test
public void test2() throws Exception{
//从JDK 1.8开始,就提供了java.util.Base64.Decoder和java.util.Base64.Encoder的JDK公共API,可代替sun.misc.BASE64Decoder和sun.misc.BASE64Encoder的JDK内部API。
//byte[] bytes = new BASE64Decoder().decodeBuffer(base64); System.out.println("-----------------------早期写法----------------------");
String text = "字串文字";
BASE64Encoder encoder = new BASE64Encoder();
BASE64Decoder decoder = new BASE64Decoder();
byte[] textByte = text.getBytes("UTF-8");
//编码
String encodedText = encoder.encode(textByte);
System.out.println(encodedText);
//解码
System.out.println(new String(decoder.decodeBuffer(encodedText), "UTF-8")); /**
* 与sun.mis c套件和Apache Commons Codec所提供的Base64编解码器来比较的话,Java 8提供的Base64拥有更好的效能。实际测试编码与解码速度的话,Java 8提供的Base64,要比sun.mis c套件提供的还要快至少11倍,比Apache Commons Codec提供的还要快至少3倍。因此在Java上若要使用Base64,这个Java 8底下的java .util套件所提供的Base64类别绝对是首选!
* https://blog.csdn.net/zhou_kapenter/article/details/62890262
*/
System.out.println("-----------------------新的写法----------------------");
byte[] test11 = Base64.getEncoder().encode(textByte);
System.out.println("test11字符串="+new String(test11, "UTF-8"));
byte[] bytes11 = Base64.getDecoder().decode(test11);
System.out.println("test11="+new String(bytes11, "UTF-8")); System.out.println("-----------------------apache写法----------------------");
String test22 = org.apache.tomcat.util.codec.binary.Base64.encodeBase64String(textByte);
System.out.println("test22字符串="+test22);
byte[] bytes22 = org.apache.tomcat.util.codec.binary.Base64.decodeBase64(test22);
System.out.println("test22="+new String(bytes22, "UTF-8")); /**
* 打印效果: 结果一致
* -----------------------早期写法----------------------
* 5a2X5Liy5paH5a2X
* 字串文字
* -----------------------新的写法----------------------
* test11字符串=5a2X5Liy5paH5a2X
* test11=字串文字
* -----------------------apache写法----------------------
* test22字符串=5a2X5Liy5paH5a2X
* test22=字串文字
*/
}
idea编译报错 sun.misc.BASE64Decoder升级处理的更多相关文章
- eclipse 中 import sun.misc.BASE64Decoder; 报错
from://http://blog.sina.com.cn/s/blog_48964b120101ahrf.html 在android做3DES加密功能时 eclipse 中 import sun. ...
- 解决报错:import sun.misc.BASE64Decoder无法找到
解决报错:import sun.misc.BASE64Decoder无法找到 2017年09月29日 16:03:26 chaoyu168 阅读数:2116 标签: sun.misc.BASE64De ...
- JDK从1.8升级到9.0.1后sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用
目录 描述 原因分析 处理办法 参考 描述 最近研究把项目的JDK升级从1.8升级到9.0.1,在eclipse上配置好JDK为9后,发现项目有错,查看发现sun.misc.BASE64Decoder ...
- Android AS升级3.1 编译报错:The SourceSet 'instrumentTest' is not recognized by the Android Gradle Plugin.
AndroidStudio升级到3.1后编译报错:The SourceSet ‘instrumentTest’ is not recognized by the Android Gradle Plug ...
- mvn 编译报错mavn sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targ
mavn 编译报错: mavn sun.security.validator.ValidatorException: PKIX path building failed: sun.security.p ...
- ios 12 xcode10 新升级的编译报错libstdc++.6.0.9 Multiple commands produce
问题一 编译报错 Showing Recent Messages :-1: Multiple commands produce '/Users/duning/Library/Developer/Xco ...
- sun.misc.BASE64Decoder的风险
问题描述 最近需要使用Base64上传图片,但是返现sun.misc.BASE64Decoder 为已经过期的包,此包为以前sun公司的内部包,可以下载此包,但是不利于现在Maven方式构建,可能会在 ...
- 一些webpack常见编译报错的解决方案
重新安装依赖可以解决80%的webpack编译报错问题. rm -rf node_modules rm package-lock.json npm cache clear --force npm in ...
- sun.misc.BASE64Decoder 替代
加密解密经常用到sun.misc.BASE64Decoder处理,编译时会提示: sun.misc.BASE64Decoder是内部专用 API, 可能会在未来发行版中删除 解决办法: Java8以后 ...
- 使用C#模拟Outlook发送邮件,代码编译报错
添加OutLook API using OutLook = Microsoft.Office.Interop.Outlook; 发送邮件方法 public void SendEmail() { Out ...
随机推荐
- 智能数据构建与管理平台Dataphin的前世今生:缘起
简介: 阿里巴巴提出的OneData方法论帮助企业捋清了数据全生命周期的管理思路,更将其植入到产品Dataphin(智能数据构建与管理)中,通过阿里云为企业提供服务. Dataphin 智能数据构建与 ...
- 新型DDoS来袭 | 基于STUN协议的DDoS反射攻击分析
简介: 作为新型反射类型,目前仍存绕过防御可能性. 阿里云安全近期发现利用STUN(Session Traversal Utilities for NAT,NAT会话穿越应用程序)服务发起的DDoS反 ...
- 如何用Netty写一个高性能的分布式服务框架?
简介: Netty 是一个致力于创建高性能网络应用程序的成熟的 IO 框架.相比较与直接使用底层的 Java IO API,不需要先成为网络专家就可以基于 Netty 去构建复杂的网络应用.业界常见的 ...
- 修复 Debian 安装 dotnet 失败 depends on ca-certificates
本文记录我在 Debian 安装 dotnet 失败,报错信息是 packages-microsoft-prod depends on ca-certificates; however: Packag ...
- dotnet 将任意时区的 DateTimeOffset 转换为中国时区时间文本
本文告诉大家在拿到任意时区的 DateTimeOffset 对象,将 DateTimeOffset 转换为使用中国的 +8 时区表示的时间 在开始之前,需要说明的是,采用 DateTimeOffset ...
- dotnet 读 WPF 源代码笔记 提升调试效率的 NamedObject 类型
本文来聊聊 WPF 那些值得称赞的设计中的 NamedObject 类型.在 WPF 中,有很多值得我学习的设计开发思想,其中就包括本文将要介绍的 NamedObject 类型.此类型的定义仅仅只是为 ...
- WordPress CVE-2022-4230复现分析
前言 开始CVE审计之旅 WP Statistics WordPress 插件13.2.9之前的版本不会转义参数,这可能允许经过身份验证的用户执行 SQL 注入攻击.默认情况下,具有管理选项功能 (a ...
- redis aof数据持久化
AOF(Append Only File) 将我们所有的命令都记录下来,history,恢复的时候就把这个文件全部再执行一遍! 是什么 以日志的形式来记录每个写操作,将Redis执行过的所有指令记录下 ...
- WEB集群 - LNMT集群架构部署zrlog
目录 1. 集群环境说明 2. NFS部署 3. mysql部署 4. redis部署 5. tomcat部署 6. nginx负载均衡部署 7. 客户端访问 8. tomcat+redis实现会话共 ...
- 我的书《Unity3D动作游戏开发实战》出版了
首先感谢帮助和参与前期检阅的朋友们.本书是我经验积累的提炼,书中既有干货分享也有对基础内容的详解补充. 同时由于是第一次撰写书籍,许多地方仍有不足还请读者朋友们见谅. 在京东或当当等都可以购买到本书: ...