3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php /* $key = 'password to (en/de)crypt'; $string = ' {login:"user_test", password:"12311231!"} '; // note the spaces $iv = mcrypt_create_iv( mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC), MCRYPT_DEV_URANDOM ); var_dump($iv); $encrypted = base64_encode( $iv . mcrypt_encrypt( MCRYPT_RIJNDAEL_128, hash('sha256', $key, true), $string, MCRYPT_MODE_CBC, $iv ) ); */ $key = 'password to (en/de)crypt'; $string = ' {login:"user_test", password:"12311231!"} '; // note the spaces $encrypted = "t0izCc6wCMaoOFbTnjrUCaVzXtqzv0O2812Yv9DT7p19llSuu4eFV6ha4ukvFeYCYr31LAVHYo5BaUzuCBNkcA=="; $data = base64_decode($encrypted); $iv = substr($data, 0, mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC)); $decrypted = rtrim( mcrypt_decrypt( MCRYPT_RIJNDAEL_128, hash('sha256', $key, true), substr($data, mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC)), MCRYPT_MODE_CBC, $iv ), "\0" ); echo 'Encrypted:' . "\n"; var_dump($encrypted); echo "\n"; echo 'Decrypted:' . "\n"; var_dump($decrypted);
based on B9Vc6
Output for 7.0.6 - 7.2.0
Fatal error: Uncaught Error: Call to undefined function mcrypt_get_iv_size() in /in/9pMI0:32 Stack trace: #0 {main} thrown in /in/9pMI0 on line 32
Process exited with code 255.
Output for 5.4.0 - 5.5.34, 5.6.0 - 5.6.20, 7.0.0 - 7.0.5
Encrypted: string(88) "t0izCc6wCMaoOFbTnjrUCaVzXtqzv0O2812Yv9DT7p19llSuu4eFV6ha4ukvFeYCYr31LAVHYo5BaUzuCBNkcA==" Decrypted: string(43) " {login:"user_test", password:"12311231!"} "
Output for 5.0.0 - 5.3.29, 5.5.35 - 5.5.38, 5.6.21 - 5.6.28
Fatal error: Call to undefined function mcrypt_get_iv_size() in /in/9pMI0 on line 32
Process exited with code 255.
Output for 4.4.5 - 4.4.9
Fatal error: Call to undefined function: mcrypt_get_iv_size() in /in/9pMI0 on line 32
Process exited with code 255.
Output for 4.3.2 - 4.4.4
Fatal error: Call to undefined function: mcrypt_get_iv_size() in /in/9pMI0 on line 32
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Fatal error: Call to undefined function: mcrypt_get_iv_size() in /in/9pMI0 on line 32