列表

详情


easy_hash

平台   Crypto   已通过

题目作者: ⎝ruimin⎠

一  血: ‌‌‌‌‌‌‌‌‌‌‬‌‌

一血奖励: 0金币

解  决: 426

提  示:

描  述:

easy_hash

附  件: 下载

站长题解:

import hashlib
from multiprocessing import Pool
import string

md5_dict = {}

def make_dict():
    for c in string.printable:
        md5_dict[compute_md5(c)] = c

def decrypt_flag():
    lines = open('output', 'r').readlines()
    flag = ''
    for line in lines:
        flag += md5_dict.get(line.strip(), '')
    print(flag)


def compute_md5(char):
    md5_flag = hashlib.md5(char.encode())
    return md5_flag.hexdigest()


def write_flag():
    with open('flag', 'r') as flag_file:
        content = flag_file.read()
        chars = list(content)
        
        with Pool() as pool:
            md5_results = pool.map(compute_md5, chars)
        
        with open('output', 'w') as output_file:
            for result in md5_results:
                output_file.write(result + '\n')


make_dict()
decrypt_flag()

去做题

darkrai @ 2024-04-07 23:19:46 👍0

flag{We1c0me_t0_the_w0r1d_0f_md5}


18370985559 @ 2024-04-07 23:19:46 👍0

flag{we1c0me_t0_the_w0r1d_0f_md5}


yuruitao @ 2024-03-07 23:19:46 👍0

注意0和o,1和l


2630209520 @ 2023-12-07 23:19:46 👍0

欢迎来到md5的世界


迢迢星辰 @ 2023-11-07 23:19:46 👍1

需要:大小写英文字母,英文下划线,数字,大括号这几种对应的哈希值组成一个彩虹表


web1234 @ 2023-11-07 23:19:46 👍0

下载后发现是一个压缩包,解压后发现一个是python的脚本,另一个是经过碰撞后的MD5值,直接用在线网站进行解码,得到flag或者用脚本。附在线网站(http://www.ttmd5.com/)


justsosoloveyou @ 2023-11-07 23:19:46 👍0

从py脚本可知加密流程是,将字符串中的每个字符分别求MD5,每行一个字符的MD5值。 解密只需要穷举所有可输入字符的MD5,形成一个字典(彩虹表),再读取加密的MD5文件,逐行进行碰撞即可。


ctf2397285686 @ 2023-10-07 23:19:46 👍0

自己写py脚本即可 不会写脚本就依次解密


zhwen @ 2023-10-07 23:19:46 👍0

每一行为一个MD5加密的字符,依次解密即可


lqjm @ 2023-10-07 23:19:46 👍1

@15535804390 py文件是告诉你加密的过程


15535804390 @ 2023-10-07 23:19:46 👍0

那py文件是用来解密的吗?