BUUCTF_Crypto_[BJDCTF2020]这是base、、

本文分享了一次CTF比赛中的Crypto题目,题目要求根据新的base64定义解密给定的密文。解密过程包括将密文字符转换为十进制,再转为二进制,不足位数补0,然后按8位分组,最后使用libnum库将二进制转换为字符串得到flag。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:

重新定义了base64

下面给了密文

通过base64的原理写出代码:

import libnum
a='FlZNfnF6Qol6e9w17WwQQoGYBQCgIkGTa9w3IQKw'
b=libnum.s2b(a)+'0000'
c=''
d={0: 'J', 1: 'K', 2: 'L', 3: 'M', 4: 'N', 5: 'O', 6: 'x', 7: 'y', 8: 'U', 9: 'V', 10: 'z', 11: 'A', 12: 'B', 13: 'C', 14: 'D', 15: 'E', 16: 'F', 17: 'G', 18: 'H', 19: '7', 20: '8', 21: '9', 22: 'P', 23: 'Q', 24: 'I', 25: 'a', 26: 'b', 27: 'c', 28: 'd', 29: 'e', 30: 'f', 31: 'g', 32: 'h', 33: 'i', 34: 'j', 35: 'k', 36: 'l', 37: 'm', 38: 'W', 39: 'X', 40: 'Y', 41: 'Z', 42: '0', 43: '1', 44: '2', 45: '3', 46: '4', 47: '5', 48: '6', 49: 'R', 50: 'S', 51: 'T', 52: 'n', 53: 'o', 54: 'p', 55: 'q', 56: 'r', 57: 's', 58: 't', 59: 'u', 60: 'v', 61: 'w', 62: '+', 63: '/', 64: '='}
f=[]
g=''
for i in range (len(a)):
    for j in range (len(d)):
        if a[i] == d[int(j)]:
            c += '{:06}'.format(int(str(bin(j)).replace('0b','')))
        j+=1
for i in range(0,len(c),8):
    f.append('{:&
### BUUCTF 密码学挑战及相关资源 BUUCTF 是一个提供多种信息安全领域挑战的平台,其中密码学部分涵盖了广泛的题目类型和技术难度。通过参与这些活动可以提升个人在加密算法分析、密钥管理以及破解技术方面的能力[^1]。 对于初学者来说,在 BUUCTF 上可以从基础级别的 Caesar Cipher 或 Vigenère cipher 开始尝试解决简单的问题。随着经验积累,参与者能够逐步接触更复杂的现代加密标准如 AES (Advanced Encryption Standard),RSA 等公私钥体系下的应用实例。 除了在线解题外,社区还提供了丰富的学习资料来帮助用户理解背后的工作原理: - **官方文档与教程**:包含详细的理论介绍和实践指南。 - **论坛交流区**:与其他爱好者分享心得并寻求建议的地方。 - **外部链接集合**:指向其他优质教育资源网站或书籍推荐列表。 ```python import requests def fetch_buu_ctf_challenges(): url = "https://buuoj.cn/api/challenges" response = requests.get(url) if response.status_code == 200: data = response.json() crypto_challenges = [ challenge for challenge in data['data'] if 'crypto' in challenge['category'].lower() ] return crypto_challenges raise Exception(f"Failed to retrieve challenges, status code {response.status_code}") challenges = fetch_buu_ctf_challenges() for index, item in enumerate(challenges[:5], start=1): print(f"{index}. Title: {item['name']}, Category: {item['category']}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值