3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * PHP profile is a PHP profiling tool for your Web applications. * Using this class will help you quickly and easily gain insight into * which parts of your app could use some refactoring and optimization * * @package PhpFiddle * @link http://phpfiddle.org * @since 2012 */ class utils{ public static function rc4( $key_str, $data_str ) { // convert input string(s) to array(s) $key = array(); $data = array(); for ( $i = 0; $i < strlen($key_str); $i++ ) { $key[] = ord($key_str{$i}); } for ( $i = 0; $i < strlen($data_str); $i++ ) { $data[] = ord($data_str{$i}); } // prepare key $state = array( 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 ); // removed the following two lines as the array() version above is *significantly* faster [23% on PHP 4.3.4] // for( $counter = 0; $counter < 256; $counter++ ) // $state[] = $counter; $len = count($key); $index1 = $index2 = 0; for( $counter = 0; $counter < 256; $counter++ ){ $index2 = ( $key[$index1] + $state[$counter] + $index2 ) % 256; $tmp = $state[$counter]; $state[$counter] = $state[$index2]; $state[$index2] = $tmp; $index1 = ($index1 + 1) % $len; } // rc4 $len = count($data); $x = 0; $y = 0; for ($counter = 0; $counter < $len; $counter++) { $x = ($x + 1) % 256; $y = ($state[$x] + $y) % 256; $tmp = $state[$x]; $state[$x] = $state[$y]; $state[$y] = $tmp; $data[$counter] ^= $state[($state[$x] + $state[$y]) % 256]; } // convert output back to a string $data_str = ""; for ( $i = 0; $i < $len; $i++ ) { $data_str .= chr($data[$i]); } return $data_str; } } echo "<h1>Hello, PHP!</h1>"; $params = utils::rc4("SENHA",base64_decode("Ii6FbtBZeFxBWIIflTlayTBs9GTnaJ%2BbJNwae7NGi53UfIP%2FtRGdDa6FKXQ%3D")); echo $params; $dados=explode("&",$params); $dados['ramal'] = @$dados[0]; echo mb_detect_encoding($dados['ramal'], "auto"); echo "\n"; echo mb_convert_encoding($dados['ramal'], "ASCII", mb_detect_encoding($dados['ramal'], "auto")); echo "\n"; echo mb_convert_encoding($dados['ramal'], "ISO-8859-1", mb_detect_encoding($dados['ramal'], "auto")); echo "\n"; echo $dados['ramal']; echo "\n"; $dados['domain'] = @$dados[1]; echo $dados['domain']; echo "\n"; $dados['password'] = @$dados[2]; echo $dados['password']; echo "\n"; $dados['expiry'] = @$dados[3]; echo $dados['expiry']; echo "\n"; if(!isset($dados['domain'])){ echo "Não foi possivel validar o acesso!<br>Feche a janela e tente novamente."; die; } $time = $dados['expiry']; echo $time; if(time() - $time > 300){ die('Credenciais de acesso invalidas. Recarregue a pagina e tente novamente.'); } ?>

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
7.2.00.0060.00919.27
7.1.100.0000.01018.39
7.1.70.0000.00817.30
7.1.60.0120.01219.50
7.1.50.0190.01934.80
7.1.00.0070.07322.27
7.0.200.0930.01015.30
7.0.140.0070.06022.08
7.0.100.0330.07019.99
7.0.90.0370.08719.99
7.0.80.0430.08320.06
7.0.70.0470.07320.09
7.0.60.0130.07719.88
7.0.50.0070.04020.49
7.0.40.0000.04720.04
7.0.30.0070.04020.13
7.0.20.0100.03720.14
7.0.10.0000.05320.17
7.0.00.0030.04720.12
5.6.280.0070.07021.20
5.6.250.0030.08720.64
5.6.240.0000.09320.72
5.6.230.0100.08320.73
5.6.220.0070.04720.71
5.6.210.0070.07720.81
5.6.200.0030.07321.09
5.6.190.0100.03721.12
5.6.180.0100.04021.01
5.6.170.0100.03720.98
5.6.160.0100.03321.11
5.6.150.0030.04020.97
5.6.140.0070.04021.08
5.6.130.0000.03721.13
5.6.120.0170.07021.00
5.6.110.0000.06021.07
5.6.100.0030.05021.07
5.6.90.0030.04320.96
5.6.80.0070.06020.59
5.6.70.0070.04020.45
5.6.60.0070.03320.56
5.6.50.0030.04020.49
5.6.40.0030.04020.51
5.6.30.0000.04020.48
5.6.20.0030.04320.47
5.6.10.0000.04320.52
5.6.00.0030.03720.36
5.5.380.0070.07720.39
5.5.370.0030.09020.57
5.5.360.0170.08020.44
5.5.350.0100.08020.40
5.5.340.0030.04320.88
5.5.330.0070.04320.82
5.5.320.0030.04320.96
5.5.310.0030.04320.81
5.5.300.0070.03020.82
5.5.290.0070.04020.89
5.5.280.0130.05320.77
5.5.270.0030.04020.65
5.5.260.0070.03720.87
5.5.250.0070.08020.64
5.5.240.0030.04020.08
5.5.230.0100.04020.25
5.5.220.0030.04720.18
5.5.210.0070.04020.20
5.5.200.0030.04020.28
5.5.190.0000.05020.28
5.5.180.0000.05020.30
5.5.160.0130.03320.21
5.5.150.0000.04320.19
5.5.140.0000.04720.23
5.5.130.0030.04020.17
5.5.120.0070.03720.27
5.5.110.0070.04320.14
5.5.100.0030.03720.20
5.5.90.0070.03720.22
5.5.80.0030.04020.14
5.5.70.0000.04020.15
5.5.60.0030.05020.15
5.5.50.0000.04320.21
5.5.40.0000.04020.14
5.5.30.0070.06320.14
5.5.20.0070.03320.13
5.5.10.0000.04020.15
5.5.00.0070.05320.06
5.4.450.0030.03719.38
5.4.440.0000.04319.41
5.4.430.0070.03319.36
5.4.420.0000.04019.55
5.4.410.0070.03019.32
5.4.400.0000.04319.03
5.4.390.0000.04719.21
5.4.380.0100.04719.13
5.4.370.0100.03019.04
5.4.360.0130.03019.12
5.4.350.0030.05318.84
5.4.340.0100.03319.09
5.4.320.0030.04319.21
5.4.310.0070.04319.18
5.4.300.0000.03719.13
5.4.290.0070.03318.84
5.4.280.0070.03719.22
5.4.270.0030.05719.03
5.4.260.0000.04019.13
5.4.250.0070.03018.94
5.4.240.0000.04318.84
5.4.230.0000.04318.87
5.4.220.0030.03018.87
5.4.210.0000.04019.03
5.4.200.0000.04018.94
5.4.190.0070.03319.17
5.4.180.0000.04018.93
5.4.170.0100.05018.84
5.4.160.0070.03719.02
5.4.150.0100.05719.02
5.4.140.0070.07316.33
5.4.130.0100.07716.33
5.4.120.0030.05716.32
5.4.110.0030.06716.40
5.4.100.0030.07716.55
5.4.90.0130.03316.32
5.4.80.0130.06716.58
5.4.70.0170.03316.36
5.4.60.0070.06316.39
5.4.50.0030.07316.45
5.4.40.0070.07016.38
5.4.30.0070.05016.34
5.4.20.0170.06316.53
5.4.10.0070.07316.36
5.4.00.0070.06315.85

preferences:
37.9 ms | 400 KiB | 5 Q