文章目录
- 前言
- 001[鹤城杯 2021]easy_crypto
- 002[强网拟态 2021]拟态签到题
- 003[SWPUCTF 2021 新生赛]crypto8
- 004[SWPUCTF 2021 新生赛]crypto7
- 005[SWPUCTF 2021 新生赛]crypto6
- 006[SWPUCTF 2021 新生赛]ez_caesar
- 007[SWPUCTF 2021 新生赛]crypto10
- 008[鹤城杯 2021]A_CRYPTO
- 009[SWPUCTF 2021 新生赛]pigpig
- 010[SWPUCTF 2021 新生赛]ez_rsa
前言
十题记录一次。001-010.
001[鹤城杯 2021]easy_crypto
核心价值观编码,工具解。
002[强网拟态 2021]拟态签到题
有等号,base64解码
003[SWPUCTF 2021 新生赛]crypto8
UUencode编码。工具解
004[SWPUCTF 2021 新生赛]crypto7
试了hex编码之类的,最后发现密文长度为32位,md5解密试试。
005[SWPUCTF 2021 新生赛]crypto6
先base16,base32最后base64.。 base16就是hex编码。
006[SWPUCTF 2021 新生赛]ez_caesar
一开始试了将str做凯撒,但是之后base64出不来,于是先对str做base64得到flag,在对flag进行凯撒移位。移位直接把原代码的+5改为-5就好。
007[SWPUCTF 2021 新生赛]crypto10
一个rot13,这题用维吉尼亚密码也能解出一个前缀NSSCTF的flag,错的。
008[鹤城杯 2021]A_CRYPTO
先ROT13,hex,base32,base64,最后base85. 但是解密base85会报错,用python解一下,
import base64
def base85_decode(encoded_string):
try:
# 解码Base85
decoded_data = base64.b85decode(encoded_string.encode())
# 将字节数据转换为字符串
decoded_text = decoded_data.decode('utf-8')
return decoded_text
except Exception as e:
print(f"解码失败:{e}")
return None
# 你的Base85编码字符串
encoded_string = "W^7?+dsi@bUwJTfUt=_GUvgz(F)?{xWo~0IWHD}MA$<"
# 解码
decoded_text = base85_decode(encoded_string)
# 打印解码结果
if decoded_text:
print("解码结果:", decoded_text)
不知道,为什么有这种题,乱七八糟的加密过程,之前写过三四次加密的题,但是每解一次都会有个小hint。
看了1说这个可以用ciphey自动化解密,但是啊啊啊啊啊啊啊啊啊啊来来回回折腾了一天就是安装不了,无语死了。
009[SWPUCTF 2021 新生赛]pigpig
猪圈密码,工具解。
010[SWPUCTF 2021 新生赛]ez_rsa
import hashlib
p = 1325465431
q = 152317153
e = 65537
n = p * q
d = pow(e, -1, (p - 1) * (q - 1)) # 计算私钥指数 d
def md5_encrypt(data):
md5 = hashlib.md5()
# 将数字转换为字符串再进行编码
md5.update(str(data).encode('utf-8'))
encrypted_data = md5.hexdigest()
return encrypted_data
plaintext = 43476042047970113
encrypted_data = md5_encrypt(plaintext)
print(f"MD5: {encrypted_data}")