使用Python生成无前置零的递增十进制数字词表(CTF需求)
Python实现自定义上限的纯数字词表及MD5哈希生成
纯数字词表生成代码
直接生成从指定起始数字到上限的无前置零数字序列,每行一个:
def generate_number_wordlist(start=1, end=10000, output_file="number_wordlist.txt"): with open(output_file, "w") as f: for num in range(start, end + 1): f.write(f"{num}\n") # 调用示例:生成1到10000的数字词表 generate_number_wordlist(end=10000)
带MD5哈希的词表生成代码
如果需要同时生成每个数字对应的MD5哈希(避免前置零导致哈希不一致),用以下代码:
import hashlib def generate_number_md5_wordlist(start=1, end=10000, output_file="number_md5_wordlist.txt"): with open(output_file, "w") as f: for num in range(start, end + 1): num_str = str(num) # 计算MD5哈希 md5_hash = hashlib.md5(num_str.encode("utf-8")).hexdigest() # 格式可自定义:这里是「数字:哈希」,也可以只写哈希 f.write(f"{num_str}:{md5_hash}\n") # 调用示例:生成1到10000的数字及其MD5哈希 generate_number_md5_wordlist(end=10000)
关键说明
- 所有数字均以无前置零的字符串形式输出,确保MD5哈希的一致性,解决Seclists词表带前置零的问题
- 支持任意大的上限值(如100万、1000万),只需调整
end参数,Python的range可处理大整数范围 - 生成的文件直接可用于CTF中的哈希爆破等场景
内容的提问来源于stack exchange,提问作者PsOom
相关产品推荐
相关产品推荐

