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=
解密时也是同样的原理就不说了。