1. Base64 加密算法
1.1 标准 Base64 算法
Base64 编码是程序开发中比较常用的一种编码算法,是常用来存储或传输一些二进制数据的方法,也是 MIME(多用途互联网邮件扩展)中的一种编码方法 。
Base64 可以实现将任何数据转换为可打印字符表示的字符串,避免数据在传输过程中失真,Base64 最开始用来在邮件发送中将非 ASCLL 字符内容转换为 ASCLL字符。
标准 Base64 是一种用于传输 8Bit 字节码的编码方式之一,基于 64 个可打印字符来表示二进制数据,使用的可打印字符包括有:A-Z、a-z、0-9、+、/ 共 64 个。
1.2 非标准 Base64 算法
UrlBase64
标准 Base64 算法中使用了 + 和 / 字符,这与 URL 以及文件系统中存在冲突,因此延伸出了一种 UrlBase64 算法,该算法中将标准 Base64 的 + 和 / 替换成为了 - 和 _ 字符。
MIME Base64
MIME Base64 算法是一种更加友好的编码格式,其定义了每行只能输出 76 个字符,如果长度超出 76,会进行换行并在行末尾增加换行符号 \r\n
, 最后一行字符长度即时不足 76,也同样会增加回车换行符号。
3. Java 实现 Base64 加解密
3.1 apache.commons-codex 包
apache.commons-codex 包中提供了的 Base64 等许多编码格式转换,可以通过其进行实现。
import org.apache.commons.codec.binary.Base64; public class Base64Util { //ba