2011-12-22 28 views
0

我正在尋找如何創建獨特的哈希函數或找到一個尚未預構建所以不會成爲它的銀行,又名:http://www.md5decrypter.co.uk/如何創建成功的獨特散列函數?

任何建議如何使一個?

在此先感謝,Mor。

+5

也許不是你的問題的答案,但:**不**。無論如何,你將會失敗,因爲這真的很難,只能在公開的同行評審過程中工作。 – edorian 2011-12-22 13:57:57

+1

使用體面散列算法,__SALT__ – 2011-12-22 13:58:10

+2

你能解釋你想要做什麼嗎?除非輸出與輸入大小相同,否則散列函數將不會是純粹唯一的,並且即使必須小心(這也不是微不足道的)。標準[加密散列函數](http://en.wikipedia.org/wiki/Cryptographic_hash_function)有什麼問題? – ircmaxell 2011-12-22 13:58:40

回答

-1

如果我是你,我會採取的發揮出來Drupal的手冊,並檢查了這一點:What is Drupal's default password encryption method?

爲了保護自己免受這些彩虹表只是確保你要麼鹽的哈希值或堆疊多個加密的MD5(SHA1 ($通過))。我仍然認爲你不應該那樣做,但是任何事情都比簡單的md5更好($ pass)

+2

不要堆疊多個哈希,除非你非常自信,你知道你在做什麼。如果你不厭倦,你最終會減少攻擊者需要強制你的密碼的密鑰空間(因此時間) – 2011-12-22 14:04:59

+2

這是一個糟糕的建議。實際上有一些研究表明,你所建議的'md5(sha1($ data))'可能[比這更糟](http://crypto.stackexchange.com/questions/270/guarding-against-cryptanalytic-breakthroughs - 組合-多散列函數)。相反,您應該使用延伸功能,例如[PBKDF2](http://en.wikipedia.org/wiki/PBKDF2)。在任何情況下都不要自己發明它... – ircmaxell 2011-12-22 14:21:45

0

如果你不知道從哪裏開始,那麼在你之前你有一段很長的旅程。能夠做出比sha1甚至md5更好的東西。

有許多方法可以減少數據庫/彩虹表的影響 - 假設您的數據需要足夠安全以證明工作的正確性。例如使用一個完美的散列(即使這樣的事情是可能的)來保護存儲在任何人都無法訪問的數據庫中的密碼沒有多大意義。

爲了使哈希上的強力攻擊變得更難,請使用salt並在對它進行哈希處理之前對其進行壓縮。