题目描述:
题目分析:
- 打开发现是16 进制数(我也不知道我是怎么发现的,先是尝试了md5和rot-n,发现都不行,然后参考大佬的才知道是16进制)
- 使用 在线16进制转字符串 便能得到 flag
- 但我如果不想用线上工具,想用代码解决怎么办?
- 我们知道,base16编码就是将字符用16进制表示
’a’ =base16=> b’61’
那么简单对16进制字符串进行base16解码即可
a = '424a447b57653163306d655f74345f424a444354467d'
import base64
print(base64.b16decode(a.upper()))
(但我不太明白后面为什么要加个 upper() )
- 最后 flag{We1c0me_t4_BJDCTF}
收获与体会:
- 对于这种仅有数字与字母的解法现在知道了3种
1.md5
2.rot-n
3.16进制转字符串 - 原来 16进制 与 base16 还有如此渊源
- 知道了如何利用代码将16进制转字符串(但我确实不太明白代码后面为什么要加个 upper() )