2012-10-21 85 views
1

我正在創建一個登錄到網站的Python腳本(在這種情況下,它是更新您的IPv4端點Tunnelbroker.net的URL),並且它使用哈希用戶名和密碼。無論哈希密碼是如何散列的,網站都能夠解密哈希密碼嗎?

我的問題是這樣的。如果我使用echo mypassword | md5sum它給了我一個不同於我發現的python腳本(使用hashlib和hashdigest來完成任務)的散列。

例如,如果「mypass」是機器人,回聲機器人|的md5sum給我2cf61812c352ec4fd0dae8f52874701d但如果我通過Python腳本運行它,我得到27f5e15b6af3223f1176293cd015771d

我的問題是找到該腳本很簡單:該網站將是能夠解密其中的任何一個並獲得「機器人」?我問這個問題,因爲我想包含用於散列密碼的python腳本的變體(如果最終用戶在Windows或另一個無法生成MD5散列的操作系統上)。

在此先感謝,並有美好的一天:) 帕特里克。

+2

如果你加密了某些東西,你可以解密它,但是如果你散列一些東西,那是不可逆的。 – NightHawk

回答

4

md5並在同一個句子的密碼給我發冷.. md5是一種單向散列函數,這意味着有應該沒有辦法"decrypt"一次散列。它是而不是的一種加密功能。然而,隨着rainbow table(也可能other ways),你可以一個md5哈希,這使得使用md5加密密碼更糟糕的念頭恢復了一些常見的字符串。

但無論如何,這裏就是答案:

不,Python腳本的答案是正確的。如果你使用echo -n "robots" | md5sum你會看到他們是相同的:27f5e15b6af3223f1176293cd015771d

原因是echo將在字符串的結尾追加一個換行符它的呼應,增加-n將不打印換行字符,因此給(驚喜!)你是正確的結果。

或者,你可以簡單地使用md5sum -s "robots"md5 -s "robots"生成散列不使用echo


參考爲echo

回波實用程序寫入任何指定的操作數,由單個坯件(' ')字符分隔 和後跟一個換行(\n)字符, 到標準輸出。

What password hashing algorithm to use?

1

字符串的MD5 「機器人\ n」 是2cf61812c352ec4fd0dae8f52874701d

字符串 「機器人」 的MD5是27f5e15b6af3223f1176293cd015771d

是什麼md5sum robots給你?

+0

我想你的意思是'md5sum「機器人'' –