【问题标题】:How can you override the 24 character mcrypt salt limit?如何覆盖 24 个字符的 mcrypt 盐限制?
【发布时间】:2011-08-21 02:39:37
【问题描述】:

我想在 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]:密钥的大小对于该算法来说太大

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

【问题讨论】:

  • 你不应该“喜欢”做超出加密算法内部工作原理的事情。

标签: php mcrypt


【解决方案1】:

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

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

【讨论】:

  • 感谢您的信息。是否有您建议的 mcrypt 可以使用的替代加密算法?
  • AES(又名RIJDAEL)是当前的加密标准。我认为这是最好的。
【解决方案2】:

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

【讨论】:

  • MD5 超过 24 个字符,我想要 140 多个字符盐,以使暴力破解几乎不可能。
猜你喜欢
  • 1970-01-01
  • 2022-09-28
  • 2013-05-11
  • 2012-12-03
  • 2016-12-21
  • 1970-01-01
  • 1970-01-01
  • 2013-08-22
  • 1970-01-01
相关资源
最近更新 更多