base64 加密方式详解

base64 加密方式详解

base64编码表


命名

base64是用于传输8Bit字节代码,由上图的编码表可以知道,编码后的内容只包含这64个字符类型,所以称为base64编码(不足四个字符的时候会用 ‘=’ 来补足,下面会说明)。


编码过程

1.首先将待编码的内容转换成8位二进制,每3个字符为一组;

2.如果编码前的长度是3n+1,编码后的内容最后面补上2个 ‘=’,如果编码前的长度是3n+2,编码后    的内容最后面补上1个 ‘=’。

3.再将每一组的二进制内容拆分成6位的二进制,不足6位的后面补足0;

4.每个6进制的数字前面补足0,保证变成8位二进制;

5.将补足后的内容根据base64编码表转换成base64内容输出;


举例说明

编码前  “hb”

1.根据ascii码转换成8位二进制,3个为一组:

   01101000,01100010

2.编码前长度是3n+2,所以后面补1个 ‘=’:

   01101000,01100010,=

3.拆分成6位二进制,不足6位的在后面补足0,0010补足变成001000:

   011010,000110,001000,=

4.每个6进制的数字前面补足0:

   0011010,00000110,00000010,=

5.根据base64编码表输出:

   aGI=


由此可以看出,本来是3个8位二进制的长度,编码后变成4个8位二进制长度,所以base64的编码方式编码后的长度大约比编码前大了1/3。

Java JDK在1.8版本里加入了base64的代码,有兴趣可以阅读 Java.util.Base64


Tools

[ base64在线加密解密 ]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容