Annotation of embedaddon/php/ext/mcrypt/tests/bug37595.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #37595 (mcrypt_generic calculates data length in wrong way)
! 3: --SKIPIF--
! 4: <?php if (!extension_loaded("mcrypt")) print "skip"; ?>
! 5: --FILE--
! 6: <?php
! 7:
! 8: $cipher_alg = MCRYPT_BLOWFISH;
! 9: $skey = array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
! 10: $key='';
! 11: foreach($skey as $t) {
! 12: $key .= chr($t);
! 13: }
! 14:
! 15: $sstr = array(1,2,3,4,5,6,7,8);
! 16: $iv='';
! 17: foreach($sstr as $s) {
! 18: $iv .= chr($s);
! 19: }
! 20:
! 21: $str = "12345678";
! 22:
! 23: $td = mcrypt_module_open(MCRYPT_BLOWFISH,'',MCRYPT_MODE_CBC,'');
! 24:
! 25: $data = Array(
! 26: '12345678',
! 27: '123456789',
! 28: "\x001234567",
! 29: '',
! 30: '1234567812345678',
! 31: '12345678123456789'
! 32: );
! 33:
! 34: foreach ($data as $val) {
! 35: mcrypt_generic_init($td, $key, $iv);
! 36: $enc = mcrypt_generic($td, $val);
! 37:
! 38: mcrypt_generic_deinit($td);
! 39:
! 40: mcrypt_generic_init($td, $key, $iv);
! 41: var_dump($dec = @mdecrypt_generic($td, $enc));
! 42: }
! 43:
! 44: mcrypt_module_close($td);
! 45:
! 46: echo "Done\n";
! 47: ?>
! 48: --EXPECTF--
! 49: string(8) "12345678"
! 50: string(16) "123456789 "
! 51: string(8) "