密码长度、组成不同时,破译密码需要的时间也不同
用python判断一下破解该密码需要多长时间
# # 判断破译密码所需要的时间,对着理论表格敲代码就行了。import repassword = input()length = len(password)Alpha = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM'num = '0123456789'char = '~!@#$%^&*()_+{}|":?><`,./;[]\=-?\''# # 最开始设置含有字母、数字、字符为Falsecontain_Alpha = Falsecontain_num = Falsecontain_char = False# # local = bool(re.findall(password, Alpha)) # # 找到返回True,没找到返回False# # print(local)if length < 3 and length > 0: print('破译密码需要: 0.001秒')elif length == 3: print('破译密码需要: 0.001秒')elif length == 4: print('破译密码需要: 0.001秒')elif length == 5: if password.isnumeric(): print('破译密码需要: 0.001秒') if password.isAlpha(): print('破译密码需要: 0.001秒') else: # # 判断密码中的每一位,密码不长,时间复杂度可以接受,找到了设置相应的包含字母、数字、符号为True即可 for i in password: if bool(re.findall(i, Alpha)): contain_Alpha = True if bool(re.findall(i, num)): contain_num = True if bool(re.findall(i, char)): contain_char = True if contain_Alpha and contain_num and not contain_char: # # 密码仅包含数字字母 print('破译密码需要: 3秒') if contain_Alpha and contain_num and contain_char: print('破译密码需要: 10秒')elif length == 6: if password.isnumeric(): print('破译密码需要: 0.001秒') if password.isAlpha(): print('破译密码需要: 8秒') else: for i in password: if bool(re.findall(i, Alpha)): contain_Alpha = True if bool(re.findall(i, num)): contain_num = True if bool(re.findall(i, char)): contain_char = True if contain_Alpha and contain_num and not contain_char: # # 密码仅包含数字字母 print('破译密码需要: 3分钟') if contain_Alpha and contain_num and contain_char: print('破译密码需要: 13分钟')elif length == 7: if password.isnumeric(): print('破译密码需要: 0.001秒') if password.isAlpha(): print('破译密码需要: 5分钟') else: for i in password: if bool(re.findall(i, Alpha)): contain_Alpha = True if bool(re.findall(i, num)): contain_num = True if bool(re.findall(i, char)): contain_char = True if contain_Alpha and contain_num and not contain_char: # # 密码仅包含数字字母 print('破译密码需要: 3小时') if contain_Alpha and contain_num and contain_char: print('破译密码需要: 17小时')elif length == 8: if password.isnumeric(): print('破译密码需要: 0.001秒') if password.isAlpha(): print('破译密码需要: 3小时') else: for i in password: if bool(re.findall(i, Alpha)): contain_Alpha = True if bool(re.findall(i, num)): contain_num = True if bool(re.findall(i, char)): contain_char = True if contain_Alpha and contain_num and not contain_char: # # 密码仅包含数字字母 print('破译密码需要: 10天') if contain_Alpha and contain_num and contain_char: print('破译密码需要: 57天')elif length == 9: if password.isnumeric(): print('破译密码需要: 4秒') if password.isAlpha(): print('破译密码需要: 4天') else: for i in password: if bool(re.findall(i, Alpha)): contain_Alpha = True if bool(re.findall(i, num)): contain_num = True if bool(re.findall(i, char)): contain_char = True if contain_Alpha and contain_num and not contain_char: # # 密码仅包含数字字母 print('破译密码需要: 153天') if contain_Alpha and contain_num and contain_char: print('破译密码需要: 12年')elif length == 10: if password.isnumeric(): print('破译密码需要: 40秒') if password.isAlpha(): print('破译密码需要: 169天') else: for i in password: if bool(re.findall(i, Alpha)): contain_Alpha = True if bool(re.findall(i, num)): contain_num = True if bool(re.findall(i, char)): contain_char = True if contain_Alpha and contain_num and not contain_char: # # 密码仅包含数字字母 print('破译密码需要: 1年') if contain_Alpha and contain_num and contain_char: print('破译密码需要: 928年')elif length == 11: if password.isnumeric(): print('破译密码需要: 6分钟') if password.isAlpha(): print('破译密码需要: 16年') else: for i in password: if bool(re.findall(i, Alpha)): contain_Alpha = True if bool(re.findall(i, num)): contain_num = True if bool(re.findall(i, char)): contain_char = True if contain_Alpha and contain_num and not contain_char: # # 密码仅包含数字字母 print('破译密码需要: 106年') if contain_Alpha and contain_num and contain_char: print('破译密码需要: 7万1千年')elif length == 12: if password.isnumeric(): print('破译密码需要: 1小时') if password.isAlpha(): print('破译密码需要: 600年') else: for i in password: if bool(re.findall(i, Alpha)): contain_Alpha = True if bool(re.findall(i, num)): contain_num = True if bool(re.findall(i, char)): contain_char = True if contain_Alpha and contain_num and not contain_char: # # 密码仅包含数字字母 print('破译密码需要: 6千年') if contain_Alpha and contain_num and contain_char: print('破译密码需要: 5百万年')elif length == 13: if password.isnumeric(): print('破译密码需要: 11小时') if password.isAlpha(): print('破译密码需要: 2万1千年') else: for i in password: if bool(re.findall(i, Alpha)): contain_Alpha = True if bool(re.findall(i, num)): contain_num = True if bool(re.findall(i, char)): contain_char = True if contain_Alpha and contain_num and not contain_char: # # 密码仅包含数字字母 print('破译密码需要: 10万8千年') if contain_Alpha and contain_num and contain_char: print('破译密码需要: 4亿2千3百万年')elif length == 14: if password.isnumeric(): print('破译密码需要: 4天') if password.isAlpha(): print('破译密码需要: 77万8千年') else: for i in password: if bool(re.findall(i, Alpha)): contain_Alpha = True if bool(re.findall(i, num)): contain_num = True if bool(re.findall(i, char)): contain_char = True if contain_Alpha and contain_num and not contain_char: # # 密码仅包含数字字母 print('破译密码需要: 2千5百万年') if contain_Alpha and contain_num and contain_char: print('破译密码需要: 50亿年')elif length == 15: if password.isnumeric(): print('破译密码需要: 46天') if password.isAlpha(): print('破译密码需要: 2千8百万年') else: for i in password: if bool(re.findall(i, Alpha)): contain_Alpha = True if bool(re.findall(i, num)): contain_num = True if bool(re.findall(i, char)): contain_char = True if contain_Alpha and contain_num and not contain_char: # # 密码仅包含数字字母 print('破译密码需要: 10亿年') if contain_Alpha and contain_num and contain_char: print('破译密码需要: 2万亿年')elif length == 16: if password.isnumeric(): print('破译密码需要: 1年') if password.isAlpha(): print('破译密码需要: 10亿年') else: for i in password: if bool(re.findall(i, Alpha)): contain_Alpha = True if bool(re.findall(i, num)): contain_num = True if bool(re.findall(i, char)): contain_char = True if contain_Alpha and contain_num and not contain_char: # # 密码仅包含数字字母 print('破译密码需要: 9百7十亿年') if contain_Alpha and contain_num and contain_char: print('破译密码需要: 193万亿年')elif length == 17: if password.isnumeric(): print('破译密码需要: 12年') if password.isAlpha(): print('破译密码需要: 360亿年') else: for i in password: if bool(re.findall(i, Alpha)): contain_Alpha = True if bool(re.findall(i, num)): contain_num = True if bool(re.findall(i, char)): contain_char = True if contain_Alpha and contain_num and not contain_char: # # 密码仅包含数字字母 print('破译密码需要: 6万亿年') if contain_Alpha and contain_num and contain_char: print('破译密码需要: 约无穷年')elif length == 18: if password.isnumeric(): print('破译密码需要: 126年') if password.isAlpha(): print('破译密码需要: 1万亿年') else: for i in password: if bool(re.findall(i, Alpha)): contain_Alpha = True if bool(re.findall(i, num)): contain_num = True if bool(re.findall(i, char)): contain_char = True if contain_Alpha and contain_num and not contain_char: # # 密码仅包含数字字母 print('破译密码需要: 374万亿年') if contain_Alpha and contain_num and contain_char: print('破译密码需要: 约无穷年')
随笔记录
侵删 总结以上是内存溢出为你收集整理的Python预估破译密码所需时间全部内容,希望文章能够帮你解决Python预估破译密码所需时间所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)