密码学
Base64 编码
Base64 编码的主要作用是将二进制数据转换为可打印的 ASCII 文本格式,以便在只能处理文本数据的介质上进行存储或传输。
简单来说,就是把电脑里那些图片、音频、视频等二进制文件,变成一串由字母、数字和特定符号组成的字符串,这样就能在那些不支持直接传输二进制数据的系统(比如一些老旧的邮件系统、纯文本协议)中安全地传输和存储。
Base64
能够将任何数据转换为易移植的字符串,避免了传输过程中失真问题。最初,Base64
是为了解决电子邮件中无法直接使用非ASCII
字符的问题。一段数据先经过Base64
编码为ASCII
字符串后,可以在接收端,通过Base64
解码还原为原数据后,而无需担心传输过程中失真。
很多时候,我们都将Base64
编码作为数据加密后的传输 / 存储格式。例如,一段明文数据通过MD5 、SHA
等手段加密后,经过Base64
编码为字符串,就可以很方便地进行传输 & 存储。再比如,网络上的数字证书其实也是使用Base64
编码的形式传输的,我们可以在浏览器上查看百度官网的数字证书:
需要注意的是:
- Base64 编码会使数据量增加(大约增加 33%),因为它用 4 个字符来表示 3 个字节的数据。
- Base64 不是加密。它只是一种编码方式,可以很容易地解码还原,并不能提供数据安全性。
总而言之,Base64 编码的主要目的是为了解决二进制数据在文本传输和存储环境中的兼容性问题。