これは一般的な知識の質問で、すぐにプロジェクトに変わります。既知のソルトを使用して sha1 をブルート フォースしようとするスクリプトがあります。いずれにせよ、この出願では塩が知られている。とにかく、スクリプトは正常に動作します。これは python スクリプトです。実行すると、利用可能な 16 個のコアの 1 つを超えます。私も総当たり攻撃に全16コアを活用したい!スクリプトを少しいじって、ここで例を使用して複数のコアを利用することができましたが、それらは完全には使用されていません。
http://forum.openopt.org/viewtopic.php?id=51
この並列化は私にとってかなり新しいものであり、Pythonでアプローチする方法がわかりません(スクリプト言語は言うまでもありません)。
TL;DR、MD5などのハッシュでブルートフォースに使用できるすべてのコアをPythonで利用する最良の方法は何ですか?
本質的に私が今持っているのはこれです...(言い換えられたコードに注意してください)
from multiprocessing imports Pools
def prog()
generate hash_attempt
compare it to target
jobs = []
po = Pool()
for stuff in things:
po.apply_sync(prog())
これは機能しますが、私が言ったと思うように、すべてのコアを完全に利用するわけではなく、ランダムに強制終了することがあります. 実行を停止するだけで、スクリプトを呼び出した端末がプロンプトに戻り、その上に「Killed」と表示されます。奇妙なもの。
ありがとうございます!