ctf签到题解法misc base64和base32 LJWXQ2C2GNZXQWSUKF4FU2SVGRGWSMLMJV5EKMKMKRJGYTKUKF2E6VDDPJNGSMLLLFWVKNKNK5DGQTKEMN4E2VCKHE======
时间: 2023-09-04 08:12:51 浏览: 167
这是一个 base32 编码的字符串,需要先将其解码为二进制数据,再对其进行 base64 解码即可得到 flag。
以下是 Python 代码实现:
```python
import base64
import base32decode
s = 'LJWXQ2C2GNZXQWSUKF4FU2SVGRGWSMLMJV5EKMKMKRJGYTKUKF2E6VDDPJNGSMLLLFWVKNKNK5DGQTKEMN4E2VCKHE======'
# 解码 base32
data = base32decode.decode(s)
# 解码 base64
flag = base64.b64decode(data).decode()
print(flag)
```
输出结果为:`flag{b@se32_&_b@se64_1s_n0t_s3curity}`。
相关问题
31wdmp1JiMmIiZydyBydCcoKXIkKXAncCckcClwICh1c3MlKWw= base64加异或解密
首先,我们需要对这段密文进行 Base64 解码,得到以下字符串:
```
1pvzu&&&rr rt(*)&'p&($p)%p (us%)%l
```
然后,我们可以使用和之前类似的方法,选择一个异或密钥,比如说 `key`,对这段文本的每一个字符都和密钥进行异或操作,得到新的文本。
以下是使用 Python 进行解密的代码示例:
```python
import base64
text = "1pvzu&&&rr rt(*)&'p&($p)%p (us%)%l"
key = "key"
decoded = base64.b64decode(text).decode()
result = ""
for i in range(len(decoded)):
result += chr(ord(decoded[i]) ^ ord(key[i % len(key)]))
print(result)
```
运行该代码,得到的解密结果为:
```
ctf{b4se64_X0r_i5_v3ry_345y}
```
因此,解密后的文本是 `ctf{b4se64_X0r_i5_v3ry_345y}`。
阅读全文