1.base64是加密算法吗?
加密:把明文变成一种不可破解的密文,提高识别度
编码:换一种体现形式,以便于传输,提高可读性
所有Base64不是加密算法
2.什么情况下用base64?
URL特殊字符,转码,转义
嵌入图片src = “base64编码后的内容”
语言文字,底层都用二进制存储的
3.描述base64的算法原理
Base64,就是使用64个可打印字符来表示二进制数据的方法
为什么是64个字符?
中文,双字节,2个字节,最大的也就3个字节
一个字节8位
所以表示也就 8 * 3 = 24位
表示如下
00000000 00000000 00000000
Base64进行重现编码
000000 000000 000000 000000
min 000000 0
max 111111 63
所以一共64个字符
a-z 26
A-Z 26
0-9 10
+/ 2
第一步:找到中文字符在操作系统中对应字符编码表代码(命令行:chcp) ( https://wenku.baidu.com/view/e1ea836ae418964bcf84b9d528ea81c758f52e61.html) GB2312
第二步:中文找到字符编码中的十进制值( http://tools.jb51.net/table/gb2312)
第三部:把十进制转为二进制
第四步:对二进制进行分组,每6个一组
第五步: 把重新分组的二进制转成10进制
第五步:去Base64表中去查找对应编码
第六步:把生成的编码后边加=就是生成的Base64的编码