4

我想在 mcrypt 中使用超过 24 个字符的盐。

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));

但是,如果我使 $salt 大于 24 个字符,它会引发此警告并在 24 个字符处使用截断的盐:

警告:mcrypt_encrypt() [function.mcrypt-encrypt]:密钥的大小对于这个算法来说太大了

有没有办法解决这个问题?

4

2 回答 2

3

24 是这个算法的极限。不使用超过 24 个字符的字符。但是你总是可以改变你的盐。

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

于 2011-05-08T12:52:20.767 回答
0

我会亲自对盐进行 MD5 并使用它,否则您需要选择不同的算法。

于 2011-05-08T12:49:40.460 回答