最全做暖暖网站,在线制作头像框,快速提升排名seo,企业网站模板哪里好破解密码时可能遇到的几种情况
① 已知密码字符#xff0c;破排序 ② 已知密码位数#xff0c;破字符 ③ 已知密码类型#xff0c;破字位 ④ 已知部分密码#xff0c;破未知 ⑤ 啥都不知道#xff0c;盲破#xff0c;玩完 ⑥ 已知位数、字符、类型、部分密码中的几个破排序 ② 已知密码位数破字符 ③ 已知密码类型破字位 ④ 已知部分密码破未知 ⑤ 啥都不知道盲破玩完 ⑥ 已知位数、字符、类型、部分密码中的几个已知越多破解越易
① 已知密码字符破排序
python破解字母已知但大小写未知密码
python穷举已知字符串中某个或多个字符为大写的所有情况并把生成的所有结果写入result.txt
def generate_uppercase_combinations(s, index0, current, output_fileresult.txt):if index len(s):with open(output_file, a) as file:file.write(current \n)returngenerate_uppercase_combinations(s, index 1, current s[index], output_file)if s[index].isalpha() and s[index].islower():generate_uppercase_combinations(s, index 1, current s[index].upper(), output_file)# 测试代码
s abc
with open(result.txt, w) as file:file.write()
generate_uppercase_combinations(s)- - - - 后续 python密码筛查和选择
④ 已知部分密码 用于排除减少可能的密码 在函数中添加一个条件来检查当前字符串是否以’C’结尾如果是则不将其写入到文件中。
# 跳过末尾为C的情况
def generate_uppercase_combinations(s, index0, current, output_fileresult.txt):if index len(s):if current[-1] ! C: # 检查末尾是否为Cwith open(output_file, a) as file:file.write(current \n)returngenerate_uppercase_combinations(s, index 1, current s[index], output_file)if s[index].isalpha() and s[index].islower():generate_uppercase_combinations(s, index 1, current s[index].upper(), output_file)# 测试代码
s abc
with open(result.txt, w) as file:file.write()
generate_uppercase_combinations(s)sabcdefgh已知第3-5位为cde排除非cde的情况已知第1-4位不是abdC排除是abcd的情况已知第第7-8位是gH排除非gH的情况。
def generate_uppercase_combinations(s, index0, current, output_fileresult.txt):if index len(s):if current[2:5] cde and current[0:4] ! abcd and current[6:8] gH: # 添加条件限制with open(output_file, a) as file:file.write(current \n)returngenerate_uppercase_combinations(s, index 1, current s[index], output_file)if s[index].isalpha() and s[index].islower():generate_uppercase_combinations(s, index 1, current s[index].upper(), output_file)# 测试代码
s abcdefgh
with open(result.txt, w) as file:file.write()
generate_uppercase_combinations(s)在Python中字符串的索引是从0开始的current[-1]表示字符串current的末尾位。
因此在上面代码中
current[-1]表示current的末尾位。current[7]表示current的第8位的子字符串。current[2:5]表示索引2-4即current的第3位到第5位的子字符串。current[0:4]表示索引0-3即current的第1位到第4位的子字符串。current[6:8]表示索引6-7即current的第7位到第8位的子字符串。 第n位加入特殊符号
. whitespace etc.
某位有一特殊字符直接在上述代码的基础上在字符串s相应位置加特殊字符就好了例如
def generate_uppercase_combinations(s, index0, current, output_fileresult.txt):if index len(s):with open(output_file, a) as file:file.write(current \n)returngenerate_uppercase_combinations(s, index 1, current s[index], output_file)if s[index].isalpha() and s[index].islower():generate_uppercase_combinations(s, index 1, current s[index].upper(), output_file)# 测试代码
s a b.c
with open(result.txt, w) as file:file.write()
generate_uppercase_combinations(s)将全部行的某几位替换为另几位同特殊字符。
② 已知密码位数破字符 python穷举已知位数n3每位密码位0-9数字或者字母abc的所有情况并把生成的所有结果写入result.txt
import itertools# 定义可能的字符集
characters 0123456789abc# 生成所有可能的密码组合
combinations itertools.product(characters, repeat3)# 将结果写入文件
with open(result.txt, w) as file:for combination in combinations:password .join(combination)file.write(password \n)③ 已知密码类型破字位 已知是数字型密码位数未知假设为4位以内。 python穷举已知位数0n5每位密码位0-9数字的所有情况并将结果写入到 result.txt文件中
import itertools# 定义可能的字符集
characters 0123456789# 生成所有可能的密码组合
with open(result.txt, w) as file:for length in range(1, 5):combinations itertools.product(characters, repeatlength)for combination in combinations:password .join(combination)file.write(password \n)出现非数字此时加字母 python穷举已知位数0n3每位密码位0-9数字或者a-z字母的所有情况并将结果写入到 result.txt文件中 只需要更新字符集和位数范围
import itertools# 定义可能的字符集
characters 0123456789abcdefghijklmnopqrstuvwxyz# 生成所有可能的密码组合
with open(result.txt, w) as file:for length in range(1, 3):combinations itertools.product(characters, repeatlength)for combination in combinations:password .join(combination)file.write(password \n)出现非字母非数此时加中文字符串 仍旧更新字符集和位数范围 历史密码规律及可能出现的排列组合 - - - -
密码位数太多了只能先排除一部分再慢慢猜测
⑤ 密码未知
啥都不知道/记不清了毁灭吧26字母10数字特殊符号可能出现的大概率中文字符更新字符集和位数范围 枚举所有可能排列
import itertools# 定义可能的字符集
characters 0123456789abcdefghijklmnopqrstuvwxyz .,-·?/#!~$%^*():啊我是# 生成所有可能的密码组合
with open(result.txt, w) as file:for length in range(1, 3):combinations itertools.product(characters, repeatlength)for combination in combinations:password .join(combination)file.write(password \n)此时可能就需要出现tkinter自动输入破解了 or 自动精灵/鼠标精灵 密码记得备份啊太难追回了10位数以上的强密码忘记了让我去猜我看得懂密码提示也破不了啊
相关 Python解压zip