当将“A”传递到函数中时,循环没有捕获,我希望停止,而不是遍历所有的可能性

2024-09-29 17:20:04 发布

您现在位置:Python中文网/ 问答频道 /正文

import itertools   

def bruteForce3 (PasswordIn):  
    Password =''  
    while(Password != PasswordIn):

        bruteForceLen1(PasswordIn)
        bruteForceLen2(PasswordIn)
        bruteForceLen3(PasswordIn)
        bruteForceLen4(PasswordIn)
        bruteForceLen5(PasswordIn)
        bruteForceLen6(PasswordIn)
        bruteForceLen7(PasswordIn)
        bruteForceLen8(PasswordIn)
        bruteForceLen9(PasswordIn)
        bruteForceLen10(PasswordIn)

    print('DONE ',Password, " = ",PasswordIn)

def bruteForceLen1(PasswordIn):  
    gen = itertools.combinations_with_replacement('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890',1)
    for Password in gen:
        Password = ''.join(Password)
        print(PasswordIn, Password)

def bruteForceLen2(PasswordIn):        
    gen = itertools.combinations_with_replacement('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890',2)
    for Password in gen:
        Password = ''.join(Password)
        print(PasswordIn, Password)

def bruteForceLen3(PasswordIn):  
    gen = itertools.combinations_with_replacement('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890',3)
    for Password in gen:
        Password = ''.join(Password)
        print(PasswordIn, Password)

def bruteForceLen4(PasswordIn):  
    gen = itertools.combinations_with_replacement('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890',4)
    for Password in gen:
        Password = ''.join(Password)
        print(PasswordIn, Password)

def bruteForceLen5(PasswordIn):  
    gen = itertools.combinations_with_replacement('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890',5)
    for Password in gen:
        Password = ''.join(Password)
        print(PasswordIn, Password)

def bruteForceLen6(PasswordIn):
    gen = itertools.combinations_with_replacement('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890',6)
    for Password in gen:
        Password = ''.join(Password)
        print(PasswordIn, Password)

def bruteForceLen7(PasswordIn):  
    gen = itertools.combinations_with_replacement('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890',7)
    for Password in gen:
        Password = ''.join(Password)
        print(PasswordIn, Password)

def bruteForceLen8(PasswordIn):  
    gen = itertools.combinations_with_replacement('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890',8)
    for Password in gen:
        Password = ''.join(Password)
        print(PasswordIn, Password)

def bruteForceLen9(PasswordIn):  
    gen = itertools.combinations_with_replacement('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890',9)
    for Password in gen:
        Password = ''.join(Password)
        print(PasswordIn, Password)

def bruteForceLen10(PasswordIn):  
    gen = itertools.combinations_with_replacement('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890',10)
    for Password in gen:
        Password = ''.join(Password)
        print(PasswordIn, Password)

Tags: infordefwithpasswordgenprintjoin
1条回答
网友
1楼 · 发布于 2024-09-29 17:20:04

PasswordbruteForce3函数中设置为'',并且在该范围内不再设置。xLenN函数中的Password变量是这些函数的局部变量,对决定while循环是否继续的测试(Password != PasswordIn)没有影响。但是,while循环被设置为在单个迭代中遍历所有组合。当Password名称设置为某个值时,while循环不会神奇地中断。基于测试中断while循环的决定是在每次迭代完成时(或continued from)做出的。你知道吗

相关问题 更多 >

    热门问题