小明一直将电脑密码的哈希值写在纸上,结果一不小心将墨水撒在了上面,只看得到前10位是c2979c7124,小明只记得密码是4位的数字加字母,你能帮小明恢复密码的哈希值吗?(提示:flag为密码的哈希值)
代码如下:
import hashlib
target_hash = "c2979c7124" # 目标哈希值前十位
characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" # 密码可能的字符集合
password_length = 4 # 密码长度
# 遍历所有可能的密码组合
for i in range(len(characters)):
for j in range(len(characters)):
for k in range(len(characters)):
for l in range(len(characters)):
password = characters[i] + characters[j] + characters[k] + characters[l] # 构建密码
password_hash = hashlib.md5(password.encode()).hexdigest()[:10] # 计算密码的哈希值的前十位
if password_hash == target_hash:
print("密码的Hash值(即为Flag值): " + password_hash)
print("恢复的密码: " + password)
exit()
print("未找到匹配的密码!")
data="OK98"
hashlib.md5(data.encode())