最重要的是算法
1.便于网络传输。安全
2.不可见性。网络
(一)Encoding VS. Encryption编码
不少人都觉得编码(Encoding)和加密(Encryption)是同一个意思。编码和加密都是对格式的一种转换,可是它们是有区别的。编码是 公开的,好比下面要介绍的Base 64编码,任何人均可以解码;而加密则相反,你只但愿本身或者特定的人才能够对内容进行解密。加密
(二)Base 64编码code
Base 64 Encoding有什么用?举个简单的例子,你使用SMTP协议 (Simple Mail Transfer Protocol 简单邮件传输协议)来发送邮件。由于这个协议是基于文本的协议,因此若是邮件中包含一幅图片,咱们知道图片的存储格式是二进制数据(binary data),而非文本格式,咱们必须将二进制的数据编码成文本格式,这时候Base 64 Encoding就派上用场了。xml
Base64编码的做用:因为某些系统中只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。它使用下面表中所使用的字符与编码。
并且base64特别适合在http,mime协议下快速传输数据。
base64其实不是安全领域下的加密解密算法。虽然有时候常常看到所谓的base64加密解密。其实base64只能算是一个编码算法,对数据内容进行编码来适合传输。虽然base64编码事后原文也变成不能看到的字符格式,可是这种方式很初级,很简单。图片
X.509公钥证书也好,电子邮件数据也好,常常要用到Base64编码,那么为何要做一下这样的编码呢?ci
咱们知道在计算机中任何数据都是按ascii码存储的,而ascii码的128~255之间的值是不可见字符。而在网络上交换数据时,好比说从A地传到B地,每每要通过多个路由设备,因为不一样的设备对字符的处理方式有一些不一样,这样那些不可见字符就有可能被处理错误,这是不利于传输的。因此就先把数据先作一个Base64编码,通通变成可见字符,这样出错的可能性就大下降了。路由