BUUCTF 丢失的MD5 1

密文:

import hashlib   
for i in range(32,127):
    for j in range(32,127):
        for k in range(32,127):
            m=hashlib.md5()
            m.update('TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+'ZM')
            des=m.hexdigest()
            if 'e9032' in des and 'da' in des and '911513' in des:
                print des

解题思路:
密文部分给了一串Python代码,发现一个语法错误BUUCTF 丢失的MD5 1_第1张图片
修改后BUUCTF 丢失的MD5 1_第2张图片
运行代码,报错BUUCTF 丢失的MD5 1_第3张图片
报错原因是:必须在哈希之前Unicode对象进行编码
对代码进行修改,对字符进行(UTF-8)编码

import hashlib   
for i in range(32,127):
    for j in range(32,127):
        for k in range(32,127):
            m=hashlib.md5()
            m.update('TASC'.encode('UTF-8')+chr(i).encode('UTF-8')+'O3RJMV'.encode('UTF-8')+chr(j).encode('UTF-8')+'WDJKX'.encode('UTF-8')+chr(k).encode('UTF-8')+'ZM'.encode('UTF-8'))
            des=m.hexdigest()
            if 'e9032' in des and 'da' in des and '911513' in des:
                print(des)

flag:

e9032994dabac08080091151380478a2

你可能感兴趣的:(BUUCTF,Crypto,python,buuctf,网络安全,密码,ctf)