2012-03-20 45 views
1

我一直在閱讀一些關於PHP加密密碼的加密文章,他們似乎都很不確定,讀者評論說「這很愚蠢,你應該這樣做」。我一直在與加密瞎搞,並想出這個銘記我一直在使用PHP數天,所以你可以說我是個菜鳥:)用PHP將密碼與PHP一起存儲到MySQL中時試驗加密

<?php 
    $salt = uniqid(mt_rand(), true); 
    $hashedPassword = sha1($userPassword . $salt); 
?> 
+2

當鹽是隨機的時,您計劃如何執行查找以驗證密碼? – 2012-03-20 16:39:59

+1

準備長時間閱讀:http://www.openwall.com/articles/PHP-Users-Passwords + http://www.openwall.com/phpass/ – biziclop 2012-03-20 16:41:15

+0

只是爲了更好地解釋 - 通過散列密碼,您正在阻止以純文本形式存儲密碼。因此,如果您的數據庫受到威脅,則不會暴露密碼。哈希方法意味着你永遠不會比較密碼本身。你總是比較哈希版本。因此,哈希函數需要可重複性,因爲它不是隨機鹽,所以它不在這種情況下 – 2012-03-20 16:42:11

回答

-3

你不需要鹽。將密碼傳遞給sha1是足夠安全的。否則你必須爲每個用戶儲存鹽。

+0

嘿,給我鏈接到你做的網站,所以我可以看到一些東西。 – santiagobasulto 2012-03-20 16:59:54

0

加密與哈希不同。

只需將您的密碼傳入sha-1或md5(認爲中斷),您將獲得hashedText(這會更安全)。但是,這是不可逆轉的。