CTF——Base64?

GUYDIMZVGQ2DMN3CGRQTONJXGM3TINLGG42DGMZXGM3TINLGGY4DGNBXGYZTGNLGGY3DGNBWMU3WI===

首先需要区分base16,base32,base64三种编码方式:

1、base16的编码表字符串是数字0~9和字母A~F;

2、base32的编码表字符串是字母A~Z和数字2~7;

3、base64的编码表字符串是字母A~Z,a~z,数字0~9,“+”,“/”。

4、根据编码原理,只有base32和base64编码方式可能会出现末尾的补位符“=”

 

所以上面的字符串由于出现了“=”,并且只含大写字母和数字2~7,因此其应该是base32编码的结果。

使用python编程

s="GUYDIMZVGQ2DMN3CGRQTONJXGM3TINLGG42DGMZXGM3TINLGGY4DGNBXGYZTGNLGGY3DGNBWMU3WI==="
import base64
#deBase=base64.b64decode(s).decode("utf-8")
debase=(base64.b32decode(s))
import binascii
r=binascii.a2b_hex(debase)# 字符串转ASCII编码的方法
print(str(r,'utf-8'))# b'  转字符串的方法

其中最后一行是b'***转字符串的方法,因为在python3中字符串的编码语言用的是unicode编码,由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干字节,如果要在网络上传输,或保存在磁盘上就需要把str变成以字节为单位的bytes。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值