PHP中的AES和CBC

时间:2014-05-27 08:59:59

标签: php encryption aes

我正在尝试使用AES-128和CBC加密php中的字符串,但是当我调用mcrypt_generic_init()时,它返回false。

$cipher = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '',MCRYPT_MODE_CBC, '');
$iv_size = mcrypt_enc_get_iv_size($cipher);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

$res = mcrypt_generic_init($cipher, 'aaaa', $iv); //'aaaa' is a test key

有人可以告诉我为什么返回0 / false?我阅读了php文档,看起来是正确的 (http://us.php.net/manual/en/mcrypt.examples.php

1 个答案:

答案 0 :(得分:0)

  

我正在尝试使用AES-128和CBC在php中加密字符串,

Are you sure about that? AES-CBC不提供消息完整性。这会使您的应用容易受到padding oracle attack的攻击。<​​/ p>

还有mcrypt is a bad library