问题背景:参加“安恒杯”南邮首届CTF,遇到一道有意思的题目。
描述: 一个残缺的密码中间少了几位,但是我们知道该密码的部分md5值,试恢复该面密码的md5值。
python脚本:
import hashlib
src1="TASC"
src2="O3RJMV"
src3="WDJKX"
src4="ZM"
dic = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
for i in range(26):
for j in range(26):
for k in range(26):
src=src1+dic[i]+src2+dic[j]+src3+dic[k]+src4
print src
m2 = hashlib.md5()
m2.update(src)
print m2.hexdigest()