题目描述:
每个人的一生中都会或多或少有那么几个对自己很重要的日子,比如对于我来说,这一天就很重要。
答案格式wctf{日期} //友情提示,此题需要暴力破解,但只是爆破这段密文,不是爆破这个网站。。 = =!
就是这一天↓
4D1FAE0B
思路:
用 crc32 编码爆破就行了。Python 的库 binascii 带有 crc32() 函数。
import binascii
key = "4D1FAE0B"
for year in range(1000,3000):
for month in range(1,13):
for day in range(1,32):
date = str(year) + str(month).zfill(2) + str(day).zfill(2) #月份和日不足十位数的,十位上补0
crc32_date = binascii.crc32(bytes(date,'ascii'))#3.X版本要像都要这样bytes
crc32_date = (hex(crc32_date).upper())[2:] #binascii.crc32()输出的数据不是16进制,因此要用hex()转换为十六进制
if crc32_date == key:
print(date)