3v4l.org

run code in 300+ PHP versions simultaneously
<?php $message = 'test'; $key = openssl_random_pseudo_bytes(16); $iv = openssl_random_pseudo_bytes(16); $cipher = mcrypt_encrypt( MCRYPT_RIJNDAEL_128, $key, $message, MCRYPT_MODE_CBC, $iv ); $plain = openssl_decrypt( $cipher, 'aes-128-cbc', $key, OPENSSL_RAW_DATA | OPENSSL_NO_PADDING, $iv ); //try to detect null padding if (mb_strlen($iv, '8bit') % mb_strlen($plain, '8bit') == 0) { preg_match_all('#([\0]+)$#', $plain, $matches); if (mb_strlen($matches[1][0], '8bit') > 1) { $plain = rtrim($plain, "\0"); trigger_error('Detected and stripped null padding. Please double-check results!'); } } var_dump( $message, bin2hex($cipher), $plain, mb_strlen($message, '8bit'), mb_strlen($plain, '8bit'), $message === $plain );
Output for git.master, git.master_jit, rfc.property-hooks
Fatal error: Uncaught Error: Call to undefined function openssl_random_pseudo_bytes() in /in/kYAXn:3 Stack trace: #0 {main} thrown in /in/kYAXn on line 3
Process exited with code 255.

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
24.08 ms | 405 KiB | 5 Q