2008-05-17 23:27:42 +00:00
|
|
|
--TEST--
|
|
|
|
mcrypt_cbc
|
|
|
|
--SKIPIF--
|
|
|
|
<?php if (!extension_loaded("mcrypt") || unicode_semantics()) print "skip"; ?>
|
|
|
|
--FILE--
|
|
|
|
<?php
|
2009-07-26 08:13:40 +00:00
|
|
|
$key = b"FooBar";
|
|
|
|
$secret = b"PHP Testfest 2008";
|
2008-05-17 23:27:42 +00:00
|
|
|
$cipher = MCRYPT_RIJNDAEL_128;
|
|
|
|
|
|
|
|
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher, MCRYPT_MODE_ECB), MCRYPT_RAND);
|
|
|
|
$enc_data = mcrypt_cbc($cipher, $key, $secret, MCRYPT_ENCRYPT, $iv);
|
|
|
|
|
|
|
|
// we have to trim as AES rounds the blocks and decrypt doesnt detect that
|
|
|
|
echo trim(mcrypt_cbc($cipher, $key, $enc_data, MCRYPT_DECRYPT, $iv)) . "\n";
|
|
|
|
|
|
|
|
// a warning must be issued if we don't use a IV on a AES cipher, that usually requires an IV
|
|
|
|
mcrypt_cbc($cipher, $key, $enc_data, MCRYPT_DECRYPT);
|
|
|
|
|
|
|
|
--EXPECTF--
|
|
|
|
PHP Testfest 2008
|
|
|
|
|
|
|
|
Warning: mcrypt_cbc(): Attempt to use an empty IV, which is NOT recommended in %s on line %d
|