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把特殊符号都去除了,这样在传输时就不会出错了
本文暂时没有评论,来添加一个吧(●'◡'●)