吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5650|回复: 59
收起左侧

[Android 分享] Base64编码算法

[复制链接]
宸道移动安全 发表于 2020-11-23 18:11
一:Base64编码的原理

(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个二进制数字,但是它们不叫Base64。

(2)Base64的使用场所
Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数         据。包括MIME的email、在XML中存储复杂数据。

(3)Base64的原理
Base64可以将ASCII字符串或者是二进制编码成只包含A—Z,a—z,0—9,+,        / 这64个字符( 26个大写字母,26个小写字母,10个数字,1个+,一个 /         刚好64个字符)。这64个字符用6个bit位就可以全部表示出来,一个字节        有8个bit 位,那么还剩下两个bit位,这两个bit位用0来补充。其实,一        个Base64字符仍然是8个bit位,但是有效部分只有右边的6个 bit,左边        两个永远是0。
Base64的编码规则是将3个8位字节(3×8=24位)编码成4个6位的字节(4        ×6=24位),之后在每个6位字节前面,补充两个0,形成4个8位字节的形        式,那么取值范围就变成了0~63。又因为2的6次方等于64,所以每6个位        组成一个单元。

二:Eclipse中Base64算法实现


首先新建一个工程,添加主程序

图片1.png

使用jdk中给我们提供的包,直接输入Base64,会给我们导包:

图片2.png

使用里面的方法encode,然后对1101字符进行编码,并且输出:

图片3.png

继续使用decode方法对编码的结果进行解码输出:

图片4.png
注意,这里decode的返回值是byte[]字节数组,所以需要new String进行类型转换。



总结


1、介绍base64的编码原理。
2、演示base64编码和解码的例子。

免费评分

参与人数 12吾爱币 +5 热心值 +12 收起 理由
AsUWL + 1 + 1 鼓励转贴优秀软件安全工具和文档!
UseLess + 1 感谢分享
IDK灬飘渺 + 1 + 1 谢谢@Thanks!
pj1 + 1 + 1 我很赞同!
小丑地带 + 1 我裤子都脱了
IQsmart + 1 涨涨知识
hassan91 + 1 我很赞同!
年少当狂 + 1 + 1 我很赞同!
fengbolee + 1 + 1 用心讨论,共获提升!
Saikit + 1 用心讨论,共获提升!
小鳥遊六花lite + 1 我很赞同!
芽衣 + 1 讲了和没讲一样

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

IBinary 发表于 2020-11-24 15:01
哈哈 真心讲了跟没讲一样.  去网上看看核心base64算法怎么讲的.原理是啥. 也算是对自己的一个学习.  你现在说的就是 API的调用.人家帮你写好的. base64算法变形了请问你怎么搞.
头像被屏蔽
First丶云心 发表于 2020-11-24 14:49
kraist 发表于 2020-11-24 11:03
masker_k 发表于 2020-11-24 11:13
感谢分享
niebaohua 发表于 2020-11-24 11:51
我还以为 你要 手撸 base64 的算法呢 = =

免费评分

参与人数 1吾爱币 +3 热心值 +1 收起 理由
pwp + 3 + 1

查看全部评分

atrox 发表于 2020-11-24 13:36
看到代码我惊了
daymissed 发表于 2020-11-24 14:07
BASE92,是啥。
传说中的五号 发表于 2020-11-24 14:33
新建了一个class,我以为要手写算法了,结果,就这...
trek 发表于 2020-11-24 15:27
大写,小写,数字,+,/还有==
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-28 13:09

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表