base64编码原理详解

首先大原理是进行一系列转换后,根据base64的对应表来加密这个表,下边会展示一下 

下面详细介绍一下 base64原理

如果不知道下面什么是Ascii码,那……………………百度一下吧

以“s13”的加密举例:

首先要把即将被加密的文字的每个ascii码写出来:

s对应的ascii码是115,1对应的是49,3是51

对应的ascii码:115 ,49, 51

对应的8位2进制: 01110011 ,00110001,00110011

将三个8bit换成4个6bit的高位补0:

于是得到:   00 011100,00 110011,00 000100,00 110011

新的十进制:28,51,4,51

接下来就根据新的base64表得到 c-28  z-51 E-4

得到czEz这里注意大小写,加密原理大概是这样,然后还有一个疑问就是

如果字母字数不够3的倍数怎么办;

比如只有:s

二进制:  01110011

转换为6个一组高位补0发现会不够4的倍数

所以转换成了如此: 011100,110000(不够6个所以补0),00 000000,00 000000

然后只有第一个,第二个是正常的base64表的字母,剩下的位置(红色位置)因为没有实际影响,所以转换为=

即加密后的密文为 cw==

两个字母时就有一个=号 ,可以自行尝试一下

ss ---> c3M=

解密时也是同样的原理就不说了。