mcrypt_decrypt.phpt 1.0 KB

1234567891011121314151617181920212223242526272829
  1. --TEST--
  2. mcrypt_decrypt
  3. --SKIPIF--
  4. <?php if (!extension_loaded("mcrypt")) print "skip"; ?>
  5. --FILE--
  6. <?php
  7. $key = "0123456789012345";
  8. $secret = "PHP Testfest 2008";
  9. $mode = MCRYPT_MODE_CBC;
  10. $cipher = MCRYPT_RIJNDAEL_128;
  11. $iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher, $mode), MCRYPT_RAND);
  12. $enc_data = mcrypt_encrypt($cipher, $key, $secret, $mode, $iv);
  13. // we have to trim as AES rounds the blocks and decrypt doesnt detect that
  14. echo trim(mcrypt_decrypt($cipher, $key, $enc_data, $mode, $iv)) . "\n";
  15. // a warning must be issued if we don't use a IV on a AES cipher, that usually requires an IV
  16. var_dump(mcrypt_decrypt($cipher, $key, $enc_data, MCRYPT_MODE_CBC));
  17. var_dump(mcrypt_decrypt(MCRYPT_BLOWFISH, "FooBar", $enc_data, MCRYPT_MODE_CBC, $iv));
  18. --EXPECTF--
  19. PHP Testfest 2008
  20. Warning: mcrypt_decrypt(): Encryption mode requires an initialization vector of size 16 in %s on line %d
  21. bool(false)
  22. Warning: mcrypt_decrypt(): Received initialization vector of size 16, but size 8 is required for this encryption mode in %s on line %d
  23. bool(false)