丢失的MD5-补全代码

题目是一段代码,直接运行会报错:

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

错误原因

1、hashlib.md5() 函数要求输入的数据是字节串类型(bytes),但在代码中,'TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+'ZM' 是一个普通的字符串(str 类型)。

2、print des 仅在Python2中合法,在 Python 3 中,应该修改为 print(des)

修改后代码:

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').encode('utf-8'))
            des = m.hexdigest()
            if 'e9032' in des and 'da' in des and '911513' in des:
                print(des)

运行后得到答案

posted @ 2025-01-08 17:27  Draina  阅读(107)  评论(0)    收藏  举报