我正在尝试使用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)
答案 0 :(得分:0)
我正在尝试使用AES-128和CBC在php中加密字符串,
Are you sure about that? AES-CBC不提供消息完整性。这会使您的应用容易受到padding oracle attack的攻击。</ p>