包含base64编码的词条( 二 )


二,Base64 编码的原理
Base64编码就是要把不可见的字符转换成常见的64个字符的过程 。
这64个字符是哪些呢?
那么它工作原理是啥呢?
1) 首先把整段传输内容全部划分成三个字节一组 。这里就有了24bit了.
2) 然后把24bit 分成四组 。每一组就有6bit
3)在6bit的最前面添加2个0,这样就有了8bit
4)把这8bit 转换成一个字节 。查找上表中对应字符 。所有其他分组内容按照这样的处理逻辑处理下 。就得到了Base64的编码后字符 。
注意,如果不够三字节,用0填到三字节,同时补充了多少个字节的0,末尾就添加就几个= 。
分别图示下以上过程:
三个A
2个A,补充一个0
1个A,补充2个0
三,总结
Base64编码不是用来加密的,也不是加密算法 。它只是用来编码的 。切记不可用于加密 。如果敏感信息用Base64编码加密了,赶紧提bug 。
经过今天的学习,希望大家有所收获 。
如果你喜欢今天的内容,欢迎点赞,关注 。
base64编解码与hash加密利用base64可以将二进制数据编码为64个字符组成的字符串,64个字符为a-z,A-Z,0-9,+,/ 。base64编码是将三个字节的二进制数据编码为四个字节的字符数据,如果字节数不为3的倍数base64会将 \x00 补在末尾,所以会常在base64字符串的末尾见到一个或者两个的 = 号 。
base64编码
base64解码
小技巧:遇到base64编码的二进制文件可以直接解码用io字节流接收再用其他模块加载,无需在本地保存文件再使用其他模块加载 。
哈希加密是对字符串进行加密,其加密后的散列值不可逆,即hash加密是单向加密不可解 。python内置的hashlib库提供了md5,SHA1, SHA224, SHA256, SHA384, SHA512 加密算法的支持
Base64 编码知识,一文打尽! 现在网站为了提升用户的浏览体验越来越多的使用了图片,而这些图片通常以 Base64 的形式存储和加载 。因此各位开发工程师肯定对 Base64 毫不陌生了,那么你知道 Base64 究竟是什么,为什么要使用 Base64,以及 Base64 的优缺点吗?
Base64 是网络中存储和传输的二进制数据的普遍用法 。Base64 一个字节只能表示 64 种情况,且编码格式每个字节的前两位都只能是 0,使用剩下的 6 位表示内容 。
看到这里相信大家也能够意识到,这种编码格式无法充分利用存储资源,效能较低 。那为什么还会成为网络中的普遍用法呢?
其实 Base64 最早是应用在邮件传输协议中的 。当时邮件传输协议只支持 ASCII 字符传递,使用 ASCII 码来表示所有的英文字符和数字还有一些符号 。这里有一个问题,如果邮件中只传输英文数字等,那么 ASCII 可以直接支持 。但是如果要在文件中传输图片、视频等资源的话,这些资源转成 ASCII 的时候会出现非英文数字的情况 。而且邮件中还存在很多控制字符,这些控制字符又会成为不可见字符 。非英文字符和控制字符在传输过程中很容易产生错误,影响邮件的正确传输 。为此才有了诞生了一个新的编码规则,把二进制以 3 个字节为一组,再把每组的 3 个字节(24 位)转换成 4 个 6 位,每 6 位根据查表对应一个 ASCII 符号,这就是 Base64 。
Base64 将 8 位为一个单元的字节数据,拆分为 6 位为一个单元的二进制片段 。每一个 6 位单元对应 Base64 索引表中的一个字符 。简单举个例子,下图中 M 的 ASCII 码是 77 , 而转换为二进制后前六位二进制对应值为 19,为 Base64 字典中的 T 。
当然这里也会有一个问题,如果要编码的二进制数据不是 3 的倍数,那就会剩下一至二个字节 。为此 Base64 使用 000000 字节值在末尾补足,使其字节数能够被 3 整除,补位用 = 表示,= 的个数可表示补了多少字节,并在解码时自动去除 。总体来看相比编码前,Base64 编码后的字符增加了约 33% 。
前面我们也提到了 Base64 编码是现在网站小图片的主要加载方式,那 Base64 到底是如何处理图片的呢?
我们都知道图片在网页中的使用方法通常是使用 img 标签的形式,而 img 标签的 src 属性会指定一个远程服务器上的资源 。在网页加载到浏览器中时,浏览器会针对每个外部资源都向服务器发送一次拉取资源请求 。但是这是非常占用网络资源的,而且因为大多数浏览器都有并发请求数的限制,如果你的网页中嵌入了过多外部请求,就很容易出现页面加载速度过慢的情况 。
而 Base64 编码可以通过 Data URL 技术让图片以字符串的格式直接嵌入页面,与 HTML 成为一体 。这样在加载时就可以避开对外部资源的请求

秒懂生活扩展阅读