我正在使用MPI爲我的任務構建密碼破解程序,並選擇使用之前沒有使用的python。這不是一個複雜的,我所做的是假設密碼長度爲5個字符,只有字符,並且我將在程序中使用硬編碼密碼進行比較。如何迭代循環中的字母表並與列表進行比較
現在我救了我的password = list("aaamm")
這樣,有一個叫做裂解方法
cracker(password, alphabet, thispass, position):
password = original password, alphabet = map(chr, range(97, 123))
和,這通最初將等於= list("aaaaa")
,因爲我沒有在我使用的python我很難開發一個算法,將檢查thispass[0] == password[0]
,如果他們是平等的我移動到下一個位置,這是pass[1] == password[1]
,但如果不是,然後增加「a」到「b」並將其與password[0]
我也有位置在我的cracker函數是MPI進程,我將有2個進程在位置(= 0,即這個通道的「a」)工作,而第一個進程將檢查從「a」到「 m「,第二個從」n「到」z「。
我已經在程序的另一端從我稱之爲cracker函數的位置拆分了字母大小。
我的主要問題是比較,mypass[0]
到password[0]
理想將是不錯的循環中有這一點,但不能確定如何有一個循環,從「a」到到任何字母的範圍是開始。
這是我第一次如此原諒,如果它的所有凌亂以上。
非常感謝,只是想更清楚一點,說thispasspass =「aaa」和password =「baa」,以下是真,執行進入循環(第一輪),而真正的,因爲!= b並且在try塊中,thispass [positiom]現在等於「b」並執行回循環(第二輪)?再次,非常感謝 – Manu
如果'thispass'是'aaa',那麼while循環的第一輪會比較'a'和'b',發現它不同,然後將'a'增加到'b '(接下來是字母表)。下一輪會發現'b'和'b'相等,所以while循環將終止並且'for'循環的下一輪將開始(爲下一個字符重新輸入while循環)。 – Alfe