Base家族

ASCII 是用128(2的8次方)个字符,对二进制数据进行编码的方式

base64编码是用64(2的6次方)个字符,对二进制数据进行编码的方式

base32就是用32(2的5次方)个字符,对二进制数据进行编码的方式

base16就是用16(2的4次方)个字符,对二进制数据进行编码的方式

1.Base64简介

Base64是一种基于64个可打印字符来表示二进制数据的表示方法。base64编码一般有下面两个用途:

a)所有的二进制文件,都可以因此转化为可打印的文本编码(都变成ASCII码可打印字符),使用文本软件进行编辑;

b)能够对文本进行简单的加密。

说白了,一段由0和1组成的串或文件,都能按照base64的编码规则转换成一段由64个字符任意组合的串。

2.Base64编码规则

所谓Base64,就是说选出64个字符----小写字母a-z、大写字母A-Z、数字0-9、符号"+"、"/"(再加上作为垫字的"=",实际上是65个字符)----作为一个基本字符集。然后,其他所有符号都转换成这个字符集中的字符。

具体来说,转换方式可以分为四步:

第一步,将每三个字节作为一组,一共是24个二进制位
第二步,将这24个二进制位分为四组,每个组有6个二进制位
第三步,在每组前面加两个00,扩展成32个二进制位,即四个字节
第四步,根据下表,得到扩展后的每个字节的对应符号,这就是Base64的编码值
Base64索引表在这里插入图片描述
备注:

(1)Base64将三个字节转化成四个字节,因此Base64编码后的文本,会比原文本大出三分之一左右

(2)对于不满3个字节的东东,就需要加上base64编码中的垫字符来补充

(3)Base64编码是可逆的,所以有Base64编码encode和解码decode

(4)Base64主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输(因为一些二进制字符在传输协议中属于控制字符,不能直接传送)。另外,还有一些系统中只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。base64其实不是安全领域下的加密解密算法。虽然有时候经常看到所谓的base64加密解密。其实base64只能算是一个编码算法,对数据内容进行编码来适合传输。虽然base64编码过后原文也变成不能看到的字符格式,但是这种方式很初级,很简单。

4.Base32和Base16

在Base家族中还有Base32和Base16,其实Base32/Base16和Base64目的是一样的,只是具体的编码规则的不一样罢了。Base32编码将二进制文件转换成由32个ASCII字符组成的文本;Base16编码则将二进制文件转换成由16个字符组成的文本

Base32Base16
总结:以后见到有一串固定的字符串,和‘=’以及算法中有rol eax ,5等字样要想起来这个是base32的算法。
jie’ti’fang’sh

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值