Skip to main content
 首页 » 编程设计

Python 和密码学 : md5

2025年05月04日10zhengyun_ustc

我对 python 和密码学非常感兴趣,我想知道在 python 中破解哈希的最简单方法是什么。

我想构建一个可以破解此哈希值的小型 Python 脚本:21232f297a57a5a743894a0e4a801fc3 这只是“管理员”。

我需要经过什么过程才能猜出这个散列代表什么?

我已经阅读了有关 md5 的内容,此时我才刚刚开始学习密码学背后的方法,但它们还涉及深入的计算机科学,这是我目前还不了解的东西。

我在这里做了一些研究:http://nsfsecurity.pr.erau.edu/crypto/md5.html

请您参考如下方法:

您可以像这样输出一个十六进制 md5:

>>> from hashlib import md5 
>>> md5('admin').hexdigest() 
'21232f297a57a5a743894a0e4a801fc3' 

如果您有一个单词列表,您可以一个一个地尝试它们,如果它们的 md5 与您想要的匹配,则输出。 (这被称为字典攻击)

>>> words = 'test', 'alex', 'steve', 'admin' 
>>> for word in words: 
...     if md5(word).hexdigest() == '21232f297a57a5a743894a0e4a801fc3': 
...         print word 
...         break 
...  
admin 

如果你真的想破解 MD5,你会在 GPU 上获得更好的结果 - 试试像 OCLHashCat 这样的工具