Base64编码

admin 2022年3月29日22:55:05评论3 views字数 1270阅读4分14秒阅读模式

点击蓝字 关注我们

在对应用进行抓包,或者传输电子邮件时,其中的网络数据通常都经过编码,而其中经常用到的一种就是Base64编码,那么Base64编码究竟是什么呢?为什么要进行这样的编码呢?

ONE

Base64编码的由来


首先Base64编码的主要目的并不是对数据进行加密,而是为了避免传输数据时的编码错误。我们知道在计算机中的一个字节共有8个比特,每个比特只能为0或1,因此8个比特共包含256个组合,每个组合都代表不同字符,比如在ascii码中,组合65到90代表大写的字母A-Z,而组合128~255是不可见字符。在网络上交换数据时,往往要经过多个设备,由于不同的设备对字符的处理方式有一些不同,这样那些不可见字符就有可能被处理错误,这是不利于传输的。所以就先把数据先做一个Base64编码,统统变成可见字符,这样出错的可能性就大降低了。

对证书来说,特别是根证书,一般都是作Base64编码的,因为它要在网上被许多人下载。电子邮件的附件一般也作Base64编码的,因为一个附件数据往往是有不可见字符的。

TWO

Base64编码的原理



在计算机世界中,任何一个数据都是由0和1构成的比特流,如:0010 0110 1110 0111 1001 1000 1000 1010 0111 0000。每次取6个比特并计算十进制值,其值必定在0至63的范围内,只要将0至63与64个可见字符一一对应,把它对应的字符写出来,再取6个比特,如此下去,就完成了编码。标准Base64编码的对应关系如下:

Base64编码

由于8和6的最小公倍数是24,因此只要用4个Base64字符就可以表示3个字节的字符。若不足6位,则在最后补0即可;若最后Base64字符数不是4的倍数,则在最后补上“=”,举例如下:

Base64编码

因此,“DC”经过base64编码后的字符为“REM=”。

THREE

Base64编码的特征


1.标准base64只有64个字符(英文大小写、数字和+、/)以及用作后缀等号;
     2.base64是把3个字节变成4个可打印字符,所以base64编码后的字符串一定能被4整除;
     3.等号一定用作后缀,且数目一定是0个、1个或2个。这是因为如果原文长度不能被3整除,base64要在后面添加凑齐3n位。为了正确还原,添加了几个就加上几个等号。显然添加等号的数目只能是0、1或2;
      4.base64可以归类为一种对称加密,但由于其密钥即转换方式是公开的,因此实际上几乎没有加密效果,只能用于编码转换。

FOUR

应用场景

 如果每次都要人工进行如此复杂的计算显然太过耗时,所幸大部分编程语言都有专门的库函数或方法进行base64编码和解码,比如Java的Base64类:
Base64编码


结语

如果能掌握一些常用编码的基本特征,有助于识别网络数据使用的编码方式,从而更快速地获得所需要的信息。那么本文对您是否有帮助呢?不妨尝试下对上面的二进制字符进行base64编码,期待在评论中看到您的答案~~

Base64编码

抉隐科技

咨询热线:

021-80158655

关注我,带你学习更多鉴定小知识哦~

原文始发于微信公众号(抉隐科技):Base64编码

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月29日22:55:05
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Base64编码https://cn-sec.com/archives/1711318.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息