2013-02-02 2 views
1

'크립트'모듈을 사용할 수 있는지 알아보지 못했을 때 나는 내 삶에 대해 생각할 수없는 문제에 부딪치게됩니다. cryptWord 및 cryptPass가 같은, 그래서 왜 (if cryptWord == cryptPass:)를하고있는 프로그램이 없다는 것을 의미크립트가 제대로 작동하지 않음

Password Not Found. secret HXXxJi0n6Huro HXXxJi0n6Huro 

print 'Found Password:

난 그냥 안 :이 실행 한 후 출력은 이것이다 전혀.

dictionary.txt 파일에는 암호가 여러 번 있는데, 모두 별도의 줄에 있습니다. 그리고 evil.txt 파일에는 다음 내용이 있습니다.

test_user:HXXxJi0n6Huro 

모든 것이 올바르게 작동하는지 알 수 있습니다. 그러나 무언가가이 일을 제대로 끝내지 못하고 있습니다. 그리고 나는 그것을 알아낼 수 없습니다. 어떤 도움을 주시면 감사하겠습니다.

import crypt 

def testPass(cryptPass): 

     salt = cryptPass[0:2] 
     dictFile = open('dictionary.txt', 'r') 
     for word in dictFile.readlines(): 
      word = word.strip('\n') 
      cryptWord = crypt.crypt(word, salt) 
      if cryptWord == cryptPass: 
       print "[+] Found Password: "+word+"\n" 
       return 
     print "[-] Password Not Found. " +word, cryptWord, cryptPass+ "\n" 
     return 


def main(): 

    passFile= open('evil.txt') 
    for line in passFile.readlines(): 
     if ":" in line: 
      user = line.split(':')[0] 
      cryptPass = line.split(':')[1] 
      print "[*] Cracking Password For: "+user 
      testPass(cryptPass) 
if __name__ == '__main__': 

     main() 
+0

[SOLVED]를 제목에 추가하지 마십시오. 그것이 '받아 들인 답'이라는 표시입니다. :-) –

+0

몰랐습니다, 미안 해요. –

+0

문제는 아니지만 '수락 된 답변'표시를 삭제 한 이유는 무엇입니까? 그걸 남겨 둘 수있어! :-) 그것이 내가 말하려고했던 것입니다. 대답을 받아 들일 수있는 것으로 표시하십시오. 그것이 그곳에있는 것입니다. 그러나 질문 제목에'[SOLVED] '를 써서는 안됩니다. –

답변

6

crypPass 값에는 여전히 줄 바꿈이 첨부되어 있습니다. 그것을 먼저 떼어 내십시오 :

user, cryptPass = line.split(':') 
cryptPass = cryptPass.strip() 
+0

평판이 좋다면 투표 할 것입니다. 하지만 고맙다. 내가 그 라인을 추가하자마자 바로 작동했다. –

+0

나는 분명히 할 것이다! 당신은 너무 빨리 대답했지만 나는 몇 분 동안 기다려야합니다. –

관련 문제