[英]Secure password storage
確保密碼存儲方案安全的最簡單方法是使用標准庫 。
由於安全性往往要比大多數程序員獨自解決的情況復雜得多,並且具有更多看不見的破壞可能性,因此使用標准庫幾乎總是最簡單,最安全的(如果不是唯一的)可用選項。
查看此答案以獲取更多信息
您可能希望對密碼進行哈希處理-不對其進行加密。 簽出SHA-1 。 散列意味着您無法像加密一樣檢索原始數據。 相反,您要做的是對用戶輸入的哈希進行哈希處理,並將其與數據庫中的哈希進行比較,以查看他們是否具有正確的密碼。 這樣做可以提高安全性,就好像您的數據庫曾經遭到破壞一樣-一堆哈希是無用的。
保存MD5哈希,並使其更安全,添加鹽。
好吧,您不應該使用MD5對其進行加密(這並不是很安全,大多數黑客都有轉換表)。
因此,您可以使用SHA1(通常使用)對其進行哈希處理。
如果您需要更高的安全性,則可以添加更多salt
,這是可以添加的密鑰 (僅作為示例,通常使用):
salt+sha1(salt+pass)
這種組合可以用於多種語言。
在SHA-1(sha1 php內置函數)中散列密碼,並重復幾次鹽析(與以上答案中的相同代碼,僅循環幾次)。 這應該是足夠的保護,所以即使入侵者以某種方式掌握了哈希,他們也不應該能夠破解它們……
可以對密碼進行哈希處理(最好加一個鹽):
$salt = random_string($length = 5);
$hash = $salt . sha1($salt . $password);
或存儲加密的文件(僅當您的MySQL連接受SSL保護時):
INSERT INTO `user` (`user`,`pass`) VALUES("username",ENCRYPT("password","secretkey"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.