网站首页 > java教程 正文
Base64编码之所以称为Base64,是因为其使用64个字符来对任意数据进行编码,标准Base64编码使用的64个字符为:
这64个字符是各种字符编码(比如ASCII编码)所使用字符的子集。唯一有点特殊的是最后两个字符,因对最后两个字符的选择不同,Base64编码又有很多变种,比如Base64 URL编码:Base64 URL 是标准Base64编码的一个变种,分别用 -、_ 替换标准Base64编码结果中的 + 、 / ,并删除结果最后的 = ,= 字符并不在Base64编码索引表中,其意义在于结束符号,在Base64解码时遇到 = 时即可知道一个Base64编码字符串结束
应用场景:
电子邮件传输(邮件内容或者其他方式传输内容使用Base64加密,实际上主要是处理中文问题的)
网络数据传输(与URLBase64相关,即解决传输中文问题又解决特殊字符问题比如“/”,"=")
密钥存储(密钥是一段二进制数据,密钥在通信双方的传递过程:甲方将密钥采用Base64编码,写入文档,通过安全途径(例如线下等)传给乙方,采用Base64存储密钥是为了增强密钥的易读性)
实现方式有三种:
Commons Codec(简称“CC”)
Bouncy Castle(简称“BC”)
JDK(不推荐使用,当做JDK没实现即可)
其中,最推荐使用Commons Codec。
jar包:
baseURL和这个类似,这里主要理解,如果在url上传输字符串的话一定要使用baseURL,因为baseURL把特殊符号都去除了,这样在传输时就不会出错了
猜你喜欢
- 2024-10-05 java8新特性Base64(java8新特性Base64位)
- 2024-10-05 我的Java Web之路64 - 会话过期链接失效问题及转发和重定向解析
- 2024-10-05 Java Web项目部署(四)-Redis、Nginx
- 2024-10-05 “全栈2019”Java第八十四章:接口中嵌套接口详解
- 2024-10-05 “全栈2019”Java第九十八章:局部内部类访问作用域成员详解
- 2024-10-05 Spring Boot图片文件转Base64(springboot 图片文件转base64)
- 2024-10-05 “全栈2019”Java第八十五章:实现接口中的嵌套接口
- 2024-10-05 一条垃圾SQL,把 64 核 CPU 快跑崩了
- 2024-10-05 Java、JS、OC、Flutter的Base64编码和解码
- 2024-10-05 java处理图片与base64编码互相转换
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)