题目:http://ctf.idf.cn/index.php?g=game&m=article&a=index&id=50
题目提示要爆破,代表加密应该是不可逆的。
密文:4D1FAE0B
只有八个字符。容易猜测是CRC32加密的。
python有直接可以用的模块binascii
py代码:
#!usr/bin/env python
#!coding=utf-8 __author__ = 'zhengjim' import binascii
flag = 0x4D1FAE0B
for year in range(1500,2500):
for mon in range(1,10):
for day in range(1,10):
a = str(year)+''+str(mon)+''+str(day)
b= binascii.crc32(a)
if b == flag:
print a
因为1-10月的0显示不出来,所以要分成1-10月 1-10天 与 10-12月 10-30天两次。这里放出1-10月 1-10天 的算法,因为刚好出了答案。
改的话直接修改即可。
跑出答案:
20190804