破解Hash之Python範例程式

破解Hash之Python範例程式

Image result for python security

這篇文章主要用一個小程式示範如何用 Python輕易的破解 Hash

以MD5為例子, 透過這個例子介紹相關資源

準備工作

我們知道 MD5 單向的 Hash 破解的方式倒不是將 Hash 重新計算為明文

破解的方式主要為準備一個字典檔案, 針對字典檔案加以 MD5 Hash

將字典檔案 MD5 Hash 的值與原始 MD5 Hash 值相互比較

要完成這個小程式, 我們主要透過這個 hashlib來完成

https://docs.python.org/2/library/hashlib.html

另外可以在下列資源取得相關的字典檔案

 

 

範例程式

[pastacode lang=”python” manual=”%23!%2Fusr%2Fbin%2Fpython%0Aimport%20hashlib%0A%0Atarget%20%3D%20raw_input(%22Enter%20the%20MD5%20hash%20value%3A%20%22)%0Adictionary%20%3D%20raw_input(%22Enter%20the%20dictionary%20file%20name%3A%20%22)%0A%0A%0Adef%20main()%3A%0A%20%20%20%20with%20open(dictionary)%20as%20fileobj%3A%0A%20%20%20%20%20%20%20%20for%20line%20in%20fileobj%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20line%20%3D%20line.strip()%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20hashlib.md5(line).hexdigest()%20%3D%3D%20target%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20print%20%22MD5%20Hash%20value%20cracked%20%25s%3A%20The%20value%20is%20%25s%22%20%25%20(target%2C%20line)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20%22%22%0A%20%20%20%20print%20%22Failed%20to%20crack%20the%20MD5%20value.%20Try%20other%20dictionary.%22%0A%0Aif%20__name__%20%3D%3D%20%22__main__%22%3A%0A%20%20%20%20main()” message=”” highlight=”” provider=”manual”/]

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *