2011-05-08 37 views
4

我想使用mcrypt的超過24個字符的鹽。如何覆蓋24個字符的mcrypt鹽限制?

mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $salt, $text, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND)); 

但是如果我做$鹽超過24個字符,它拋出這個警告,並在24個字符采用截斷鹽:

警告:mcrypt_encrypt()[function.mcrypt-加密]:大小對於這種算法,密鑰太大

有沒有辦法解決這個問題?

+0

你不應該「像」做的事情,都出了加密算法的內部運作。 – 2011-05-08 13:03:46

回答

3

24是這個算術的極限。超過24個字符的字符不被使用。但你可以隨時轉換你的鹽。

http://en.wikipedia.org/wiki/Advanced_Encryption_Standard

+0

感謝您的信息。有沒有一種替代的加密算法,mcrypt可以使用,你會建議? – 2011-05-08 16:28:33

+0

AES(又名RIJDAEL)是目前的加密標準。我認爲這是最好的一個。 – Marcin 2011-05-08 20:42:57

0

我親自MD5的鹽和使用,否則你需要選擇不同的算法。

+0

MD5超過24個字符,我想讓140多個角色的鹽讓野蠻人逼得幾乎不可能。 – 2011-05-08 16:27:59