我聽到了另一個網站,做這樣的事情是一個壞主意:爲什麼雙重散列字符串(encrpyt)很糟糕?
$string = "hello";
sha1(hash("sha512", $string));
...就我而言它是一個很好的,聰明的想法!爲什麼不是? (我不明白在另一個網站上的解釋)
感謝
我聽到了另一個網站,做這樣的事情是一個壞主意:爲什麼雙重散列字符串(encrpyt)很糟糕?
$string = "hello";
sha1(hash("sha512", $string));
...就我而言它是一個很好的,聰明的想法!爲什麼不是? (我不明白在另一個網站上的解釋)
感謝
有什麼錯散列多次。有很多情況下,這實際上是一個好主意。
你是什麼意思「你正在實施一個挑戰/響應方案。」? – 2013-02-14 21:57:04
@Caspar如果您想驗證某人有存儲在服務器上相同的密鑰或鹽,服務器可以使用該密鑰/鹽散列隨機生成的消息,並將其發送給客戶端。客戶端然後將使用密鑰/鹽來散列哈希併發回雙哈希。然後,服務器會再次使用密鑰對原始散列進行散列,以比較它與客戶端發送的內容是否匹配。 – Eric 2013-02-14 22:16:02
您粘貼的示例很糟糕,因爲您正在用160位散列哈希散列512位散列。
這可能只是一個快速和骯髒的例子,而不是OP使用的實際代碼。 – 2013-02-14 21:51:26
(呵呵,是的,是的) – 2013-02-14 21:56:16
您可以鏈接到你讀它的參考?也許我們可以提供一些背景。多輪散列並不少見。如果使用慢速算法,它會對暴力攻擊產生一種速率限制。 – 2013-02-14 21:47:34
這是網站http://phpacademy.org/forum/,但煩人的是它在一些技術問題 – 2013-02-14 21:48:23
你會推薦它嗎? – 2013-02-14 21:48:53