私はPythonを使用して辞書攻撃スクリプト(教育目的のために)を構築しようとしており、ファイル内の最後のSHA-256ハッシュを解決します。次のようにPython辞書攻撃は最後のハッシュを解決するだけです
ロジックは次のとおりです。
- は、行をスキャンし
- 辞書にキーと値のペアとしての言葉
- ストアの単語と一緒に単語のハッシュ値を含むファイルを読みますSHA-256ハッシュ(行あたり1つのハッシュ値)
- 辞書の項目を反復処理して、キーを印刷を含むテキストファイルの値は、ハッシュと一致する場合
ファイルの最後の項目は完全に機能しますが、他のすべてのユーザーには一致するものは見つかりませんでした。
「テスト」と「パスワード」のハッシュ値を含む9F86D081884C7D659A2FEAA0C55AD015A3BF4F1B2B0B822CD15D6C15B0F00A08
5E884898DA28047151D0E56F8DC6292773603D0D6AABBDD62A11EF721D1542D8
:
私のハッシュファイルは次のようになります。
私のワードファイルには70,000以上の単語が含まれていますが、両方の単語がファイルに含まれていることを確認しました。デバッグすると、式を呼び出すと両方とも辞書に値があります。
私は私のファイルにハッシュを反復処理するのはここです:
with open(hashFile) as f:
for c in f:
findMatch(str(c).lower(),wordMap)
そして、私は辞書内のすべての値にハッシュ値を比較するために書いた機能:
def findMatch(hv,m):
#k is the key, m is the dictionary
for k in m:
if(m[k].lower() == hv):
print("Match was found: " + k)
return
print("Match was not found, searched through " + str(len(wordMap)) + " words")
すべてのヘルプは高く評価され、ありがとう! findMatch(str(c).lower(),wordMap)
で
はい、これは完璧に動作し、アーマチュアの間違いです! – CS2020