我在其他文章中看到過這些信息,但大部分都是用已知值(如用戶名)進行醃製。在joined
日期時間(或日期時間爲joined
的MD5)中輸入一個密碼是一種安全的方式,如果joined
數據沒有暴露在站點中的任何位置,那麼這是一種進一步保護憑據的安全方式?使用「加入」日期時間提供密碼
在此先感謝!
我在其他文章中看到過這些信息,但大部分都是用已知值(如用戶名)進行醃製。在joined
日期時間(或日期時間爲joined
的MD5)中輸入一個密碼是一種安全的方式,如果joined
數據沒有暴露在站點中的任何位置,那麼這是一種進一步保護憑據的安全方式?使用「加入」日期時間提供密碼
在此先感謝!
用真正的隨機鹽代替鹽。猜測一個基於日期的鹽似乎有點太容易了,特別是如果有人知道該人是該網站的成員有多長時間。
你可以這樣做:
$salt = substr(sha1(uniqid(mt_rand(), true)), 0, 16);
我確實是這樣的:
$password = mysqli_real_escape_string($connect, $_POST['password']);
$salt_shaker = bin2hex(mcrypt_create_iv(32, MCRYPT_DEV_URANDOM));
$salted = $password.$salt_shaker;
+1:鹽應始終** **是隨機的,併爲每個用戶不同。 – 2011-04-21 21:17:28
@TaylorOtwell夠公平!我一直在想,既然它已經到了秒鐘的時間,我也可以使用MD5,我可以避免在用戶數據庫中添加另一個字段。謝謝。 – RANGER 2011-04-21 21:18:40
@cbh - 是的,你需要繼續並添加一個「鹽」字段。它會更安全。 – TaylorOtwell 2011-04-21 21:20:30