0xh*_*hes 2 python hash multithreading pool multiprocessing
这是一个常识性问题,很快就会变成一个项目.我有一个脚本试图用已知的盐强制sha1强制sha1.无论如何,在本申请中,盐是已知的.无论如何,脚本工作正常,它是一个python脚本.当我运行它时,它最多可以获得16个核心.我想利用所有16个内核进行蛮力攻击!我用脚本搞砸了一下,并且能够在这里使用一个例子来利用多个核心,但它们并没有被使用.
http://forum.openopt.org/viewtopic.php?id=51
这个parrelization的东西对我来说是新的,我不知道如何在python中处理它(更不用说任何脚本语言).
TL; DR,python中使用所有可用于哈希的强大核心的最佳方法是什么,比如MD5?
基本上我现在拥有的是......(请注意释义代码)
from multiprocessing imports Pools
def prog()
generate hash_attempt
compare it to target
jobs = []
po = Pool()
for stuff in things:
po.apply_sync(prog())
Run Code Online (Sandbox Code Playgroud)
这可行,但我认为我说,它没有充分利用所有核心,然后有时它只是随机杀死.它将停止执行,我调用脚本的终端将返回到它的提示符,在它上面,它会说"已杀死".奇怪的东西.
万分感谢!
由于Global Interpreter Lock,您无法有效地将Python线程用于CPU绑定工作.在这种情况下,您将不得不使用multiprocessing.multiprocessing由于通信开销,子进程可能无法在给定CPU核心的100%工作.为了最大限度地减少通信开销,请以大块而不是较小的块为子进程分配工作.
| 归档时间: |
|
| 查看次数: |
703 次 |
| 最近记录: |