2011-04-04 31 views

回答

0

http://php.net/manual/en/function.hash.php
並選擇一個好的哈希函數.. SHA256如果你建造核火箭..

但使用一個OpenID甚至會更好: http://openid.net/get-an-openid/what-is-openid/

那麼你並不需要所有這些東西:)

+4

**不!不要使用使用MD5!** SHA1也不安全。 – SLaks 2011-04-04 11:14:31

+0

是的,這就是爲什麼我問,我研究過它,很多出現說不要這個和那個! – Basic 2011-04-04 11:15:39

+0

好吧,torvalds認爲sha1足夠安全..所以你應該和他談談.. – duedl0r 2011-04-04 11:18:45

-1

首先,你應該考慮的不是最好的散列函數,但不允許簡單的密碼。

否則沒有散列會有幫助。

因此,首先檢查用戶密碼的複雜性,要​​求他們至少10個字符長,包含不同的大小寫字母和數字。

然後,你必須通過添加一些鹽來做一個散列。用戶電子郵件或註冊時間可以。

$hashedpass = MD5($email.$pass); 

這一切

+3

**不!不要使用使用MD5!**另外,鹽不應該是字母數字。 – SLaks 2011-04-04 11:21:47

+0

是的,我已經完成了這一切,現在需要的只是實際的哈希。 – Basic 2011-04-04 11:22:32

+0

@SLaks字母數字鹽有什麼問題? – 2011-04-04 11:26:00

0

您可以使用Mycript,並選擇適當的散列alghoritm(我建議SHA-2系列速度/安全性之間良好的貿易),更好地與醃製。 但是 正如其他人所建議的那樣,我認爲使用標準frawework更好,並且不要爲thousanth時間重新發明輪子:檢查phpass庫。

+0

速度是_bad_。 http://chargen.matasano.com/chargen/2007/9/7/enough-with-the-rainbow-tables-what-you-need-to-know-about-s.html – SLaks 2011-04-04 11:23:20

+0

雖然這是一篇有趣的文章,認爲 - 在現實世界中 - 速度是一個變量,就像其他任何東西一樣。 這取決於您真正需要多少安全性,以及您願意讓應用程序的用戶等待多少時間。 此外,理論上或電子商務應用程序,你是完全正確的。 – jojo 2011-04-04 12:27:00

+0

在所有應有的尊重下,你似乎都忽略了這一點。速度很糟糕。您的用戶不會注意到驗證其憑據所需的額外幾毫秒。他們*會*注意到他們的帳戶被黑客入侵。 – awm 2011-04-06 01:03:32