今天小编要和大家来探讨一下Android逆向学习当中的《Base64编码算法》,如果有什么不对的地方,大家多多指教!

Android逆向小白学习,Base64编码算法

目录

Base64编码原理

Eclipse中base64算法实现

Base编码原理

1、base64是什么?

Base64是一种基于64个可打印字符来表示二进制数据的表现方法,由于2的6次方是等于64,所以每6个比特为一个单元,对应某个可打印字符。三个字节有24个比特,对应于4个Base64单元,即3个字节需要用4个可打印字符来表示。 它可以用来作为电子邮件的传输编码,在base64中的可打印字符包括内容,A-Z,a-z,以及数字0-9,这样共有62个字符,此外两个可打印字符号在不同的系统中而不同。

一些如uuencode的其他编码方法和之后的binhex 版本使用不同的64字符集来表示一个6个二进制数字,但他们不叫64.

2、Base64的使用场所

Base64的使用场所主要是用于处理文本数据的一些场合,表示数据传输,储存一些二进制数据,包括email和在xml中存储的一个复杂数据。

3、Base64的原理

Base64可以将ASCII字符串或是二进制编码只包含A-Z,a-z,0-9以及+,再加一个/总共64字符,这64个字符用bit位就可以全部表现出来,一个字节有8个bit位还剩下两个bit位,这两个bit用0来填充。

其实一个base64字符他永远是一个8个bit位,但有效部分只有右边的6个bit位,左边永远是两个0。

那么Base64的编码规则是将3个8位字节,也就是3x8=24位,编码成4个6位字节,之后在每个6字节前面,补充两个0。形成4个8字节的形成,那么取值范围就变成0-63,因为2的6次方等于64,所以6个位呢就组成一个单元。

Eclipse中base64算法实现

步骤

1、Eclipse中新建工程

2、导入base64相关的包

3、使用包里面的方法

首先我们先在eclipse建一个工程,然后我们导入base64相关的一个包,然后我们可以使用这个包里面的方法一起来完成我们的算法

我们这里已经先把工程给创建好了,我们直接在创建好的工程里面直接进行一个代码的编写,首先我们直接先输入base64。
Android逆向小白学习,Base64编码算法

他会提示我们一个导包,导包之后我们可以调用里面的encode。

Android逆向小白学习,Base64编码算法

根据提示,我们直接回车,这里就是我们要进行编码的一个数据,我们输入1101,直接使用getbyte进行一个数据的转换。

Android逆向小白学习,Base64编码算法

获取到一个编码的数据,我们进行一个输出,直接把这个编码数据放到这个system.out里面,在分号删掉。

Android逆向小白学习,Base64编码算法

我们按住快捷键ctrl+s进行一个保存,然后我们运行一下看一下编码后的一个数据。

Android逆向小白学习,Base64编码算法

我们既然要编码肯定是要解码的,解码我们也是要用到base64包里面一个叫encode,然后会给我提示。

Android逆向小白学习,Base64编码算法

这些解码数据是什么呢?这个就是我们刚才获取到的数据,我们直接点击复制进来,进行输出。

Android逆向小白学习,Base64编码算法

但是我们不能直接输出,因为我们知道system.out,这个输出是需要一个string类型,那我们在这里就直接NEW一个string。

Android逆向小白学习,Base64编码算法

保存运行出来就是之前我们所得的结果。

小编在这里给大家讲解了base64编码的原理,然后给大家图文演示了一下base64编码和解码的例子,如果有什么不懂的可以私聊我或者在下方评论,小编会第一时间给大家解答!

相关文章:

  • 2021-11-25
  • 2021-06-20
  • 2022-01-11
  • 2022-12-23
  • 2021-06-05
  • 2022-12-23
猜你喜欢
  • 2021-10-03
  • 2021-08-16
  • 2021-04-23
  • 2022-12-23
  • 2021-12-24
  • 2021-10-04
相关资源
相似解决方案