CTF常见编码与其他编码总结(实战 AFCTF 2018 BASE)

一、常见编码

最常见的机器编码就是ASCII编码,ASCII编码大致可以分为二部分
第一部分:ASCII非打印控制字符(0~31)
第二部分:ASCII打印字符(32~127)
编码表如下图所示:
在这里插入图片描述

Base编码,一类编码的统称,如Base16、Base32、Base 64,这类编码方式大都是为了让数据编码到指定的码表中,用来表示、传输、存储各类二进制编码。

1. Base 16编码

将二进制文本转换成由以下16个字符组成的文本:
0123456789ABCDEF

例题:
666c61677b6261736531365f656e636f64655f7d

2. Base 32编码

将原数转换成8为二进制串,转换后使用A-Z、2-7三十二个字符和填充符=编码。

如原文a先转换成:
011000010110001001100011
每次取8组,每组只需要5个字节,不够则填充0,同时填充=:
01100 00101 10001 00110 00110
得出来的数不是8组的倍数,所以末尾要补充0:
01100 00101 10001 00110 00110 00000 00000 00000
最后三组0,是填充字符,要转化成=
最终编码:
MFRGG===

例题:
MZWGCZ33MRXV66LPOVPWW3TPO5PWEYLTMUZTEX3FNZRW6ZDFPU======

3. Base 64编码

原理和base32一样,将原数转换成8为二进制串,每次取4组,六个比特位按表转换为字符,不够则填充0,同时填充=。

例题:
ZmxhZ3tkb195b3Vfa25vd19iYXNlNjRfZW5jb2RlfQ==

4. Base64 URLSafe

传统base64中+/会被url转义,因此产生了一种新的编码方式,用-_代替传统base64中的
+/两个字符。

例题:
ZmxhZ3t-dXJsfnNhZmV-ZW5jb2RlfQ==

5. Base85 编码

用5个ASCII字符来表示4个字节,将4个二进制数组成一个32位的数,让后将其转换成85进制,最后每一位对应的值加32转换为字符。

例如原字符sure变成二进制:
01110011011101010111001001100101
通过转换成32位,得到:
1937076937
转换为85进制得到:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓梦林

都看到这里了,支持一下作者呗~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值