6ac66ed89ef9654cf25eb88c21f4ecd0是flag的MD5码,(格式为ctf{XXX_XXXXXXXXXXX_XXXXX})由一个0-1000的数字,下划线,纽约的一个区,下划线,一个10000-15000的数字构成
import hashlibmd5 = '6ac66ed89ef9654cf25eb88c21f4ecd0'NewYork = ['thebronx','brooklyn','manhattan','queens','richmond','statenisland']for a in range(1,1000): #循环控制数字,NewYork的五个区用列表表示,for in 直接遍历列表。 for b in NewYork: for c in range(10000,15000): string = 'ctf{'+str(a)+'_'+b+'_'+str(c)+'}' m = hashlib.md5() m.update(string.encode("utf-8"))#这个地方参数必须要转换编码,我也不是很懂原因,记住就好了 n = m.hexdigest() if (n==md5): print(string) #输出答案print('循环结束') #因为没有进度条,最后加一个来看循环结束没有,数字有点大,可能要等一会,不急。