Base64

BASE64

用于传输8Bit的编码方式之一,一种基于64个可打印字符来表示二进制数据的方法。主要用来在HTTP环境下传递较长的标识信息。,采用Base64编码不仅比较简短,同时也具有不可读性,即所编码的数据不会被人用肉眼所直接看到。

原理

转ASCII ->分组(6位一组)->高位补0

java版本
import java.util.Base64;
对于标准的Base64:
加密为字符串使用Base64.getEncoder().encodeToString();
加密为字节数组使用Base64.getEncoder().encode();
解密使用Base64.getDecoder().decode();
对于URL安全或MIME的Base64,只需将上述getEncoder()getDecoder()更换为getUrlEncoder()getUrlDecoder()
或getMimeEncoder()和getMimeDecoder()即可。
应用

1.Base64 也会经常用作一个简单的“加密”来保护某些数据,而真正的加密通常都比较繁琐。

2.垃圾讯息传播者用Base64来避过反垃圾邮件工具,因为那些工具通常都不会翻译Base64的讯息。

注意

标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符。

与Base32的区别
  1. 主要就是空间效率的区别,Base64是具有比较高的空间效率的。

  2. Base32,32个字符来表示,编码后变成原来的8/5,但是最后如果不足8个字符,将用=来补充。而Base64编码大小变成原来的4/3。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值