Java Base64编码使用介绍
Base64编码介绍
BASE64 编码是一种常用的字符编码,Base64编码本质上是一种将二进制数据转成文本数据的方案。
但base64不是安全领域下的加密解密算法。能起到安全作用的效果很差,而且很容易破解,他核心作用应该是传输数据的正确性,有些网关或系统只能使用ASCII字符。
Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法,而且base64特别适合在http,mime协议下快速传输数据。
使用场景
1.对数据传输过程中不可见字符的处理;
2.将图片二进制转为Base64编码嵌入网页,可有效减少HTTP请求图片带来性能提升;
Java对于Base64编码的支持,
这里只讲原生JDK支持,足够你用的,别搞些第三方的:
package com.dylan.security;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import java.io.IOException;
import java.util.Base64;
/**
* Base64编码测试类
*
* @author xusucheng
* @create 2017-12-19
**/
public class TestBase64 {
public static final String toEncode="Hello Base64!";
/**
* jdk8以前
* @throws IOException
*/
public static void TestBase64Old() throws IOException {
//编码
BASE64Encoder encoder=new BASE64Encoder();
String encoded = encoder.encode(toEncode.getBytes());
System.out.println("编码后:"+encoded);
//解码
BASE64Decoder decoder=new BASE64Decoder();
byte[] decoded = decoder.decodeBuffer(encoded);
System.out.println("解码后:"+new String(decoded));
}
/**
* jdk1.8后
*/
public static void TestBase64New(){
//编码
String encoded = Base64.getEncoder().encodeToString(toEncode.getBytes());
System.out.println("编码后:"+encoded);
//解码
byte[] decoded = Base64.getDecoder().decode(encoded);
System.out.println("解码后:"+new String(decoded));
}
public static void main(String[] args) throws IOException {
System.out.println("Before JDK1.8:");
TestBase64Old();
System.out.println("After JDK1.8:");
TestBase64New();
}
}
输出:
Before JDK1.8:
编码后:SGVsbG8gQmFzZTY0IQ==
解码后:Hello Base64!
From JDK1.8:
加密后:SGVsbG8gQmFzZTY0IQ==
解码后:Hello Base64!
Java Base64编码使用介绍的更多相关文章
- Kotlin/Java Base64编码和解码(图片、文件)
原文: Kotlin/Java Base64编码和解码(图片.文件) | Stars-One的杂货小窝 最近在项目中使用到了Base64编码和解码,便是稍微写篇文章记录一下 PS:本文代码都是使用Ko ...
- android Java BASE64编码和解码二:图片的编码和解码
1.准备工作 (1)在项目中集成 Base64 代码,集成方法见第一篇博文:android Java BASE64编码和解码一:基础 (2)添加 ImgHelper 工具类 package com.a ...
- android Java BASE64编码和解码一:基础
今天在做Android项目的时候遇到一个问题,需求是向服务器上传一张图片,要求把图片转化成图片流放在 json字符串里传输. 类似这样的: {"name":"jike&q ...
- Java Base64编码解码实现
我尝试过两种方式:java自带的sun.misc的工具类,还有commons-codec.jar 1.sun.misc的工具类 String encoderStr = null; BASE64Enco ...
- java base64编码 加密和解密(切记注意乱码问题)
BASE64 编码是一种常用的字符编码,在很多地方都会用到.JDK 中提供了非常方便的 BASE64Encoder 和 BASE64Decoder,用它们可以非常方便的完成基于 BASE64 的编码和 ...
- Java Base64编码与图片互转
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ...
- java base64编码、解码的三种方式
java base64编码.解码 CreationTime--2018年7月24日10点38分 Author:Marydon 1.方式一:DatatypeConverter 说明:使用jdk自带的 ...
- java base64编码解码
第一种.DatatypeConverter 使用JDK自带DatatypeConverter.java类实现,JDK版本必须>=1.6 /** * @Description base64编码 * ...
- Java Base64 编码解码方案总结
Base64是一种能将任意Binary资料用64种字元组合成字串的方法,而这个Binary资料和字串资料彼此之间是可以互相转换的,十分方便.在实际应用上,Base64除了能将Binary资料可视化之外 ...
- 【java】java base64编码与解码
参考地址:http://blog.csdn.net/zhou_kapenter/article/details/62890262 要求:JDK1.8+ 使用java原生工具类即可实现 [这里展示字符串 ...
随机推荐
- [转帖](1.3)sql server for linux 配置mssql-conf(即SSCM)
https://blog.51cto.com/ultrasql/2152021 目录 [配置mssql-conf] 启用SQL Server代理 修改SQL Server排序规则 配置客户反馈 修改默 ...
- shell补遗_一个巨简单的保证服务存活的脚本
Shell补遗 背景 公司一台机器总是会在没有更新补丁的情况下启动失败. 查看所有的配置都没有问题. 但是就是不启动 没办法,准备写一个检查进行启动. 最近写shell很少. 所以总结一下. 思路 判 ...
- [转帖]ELF文件详解
一.ELF概述 1.ELF的定义 ELF(Executable and Linkable Format)文件是一种目标文件格式,常见的ELF格式文件包括:可执行文件.可重定位文件(.o).共享目标文件 ...
- [转帖]Linux之系统参数overcommit_memory
https://www.modb.pro/db/25980 前言:作为DBA,内存的使用情况是重要的监控指标之一,了解内存使用很重要.下面有一个系统参数,对于内存的调用起到重要的作用.大家可以了解一下 ...
- [转帖]如何优雅的使用 Systemd 管理服务
https://zhuanlan.zhihu.com/p/271071439 背景:我们在构建 Kubernetes 容器化平台时,会在节点上部署各种 agent ,虽然容器化当道的今天很多程序可以直 ...
- ESXi6.5+vCenter6.5 CentOS7 虚拟机启动之后控制台黑屏的解决方案
公司最近搬迁服务器, 服务器的地址都发生了变化, 发现部分机器总是黑屏无法使用, 想了一个坚决办法使服务器能够连接设置地址后使用. 1. 控制台开机. 2. 注意在开机五秒之内打开web控制台, 然后 ...
- StorageClass 简单学习
StorageClass 简单学习 学习资料来源 https://www.jianshu.com/p/5e565a8049fc https://zhuanlan.zhihu.com/p/2895019 ...
- ChatGPT 中,G、P、T 分别是什么意思?
流行的技术名词按发音难度排序,ChatGPT 肯定排在前面. 到底它为什么叫做 ChatGPT 呢? 先说 GPT:Generative Pre-Training Transformer Genera ...
- 关于git pull机制和游戏开发热更新思考
前言 今天由于网速很慢,在git pull更新时我观看了git pull的日志,让我联想到和我现在从事的游戏开发中的热更热有一定的相似性,把思绪记录下来. git pull 日志 使用tortoi ...
- OCR文字检测与识别系统:融合文字检测、文字识别和方向分类器的综合解决方案
1. OCR文字检测与识别系统:融合文字检测.文字识别和方向分类器的综合解决方案 前两章主要介绍了DBNet文字检测算法以及CRNN文字识别算法.然而对于我们实际场景中的一张图像,想要单独基于文字检测 ...