3v4l.org

run code in 300+ PHP versions simultaneously
<?php $r = new \Random\Randomizer(); $chars = 'abcdefghijklmnopqrstuvwxyz0123456789'; $lens = [10, 100, 1000, 1024 * 1024, 1024 * 1024 * 10]; // bcrypt foreach ($lens as $len) { $pw = $r->getBytesFromString($chars, $len); $time = microtime(true); password_hash($pw, PASSWORD_DEFAULT); echo microtime(true) - $time . ' ms (bcrypt ' . strlen($pw) . " chars)\n"; } // PBKDF2 foreach ($lens as $len) { $pw = $r->getBytesFromString($chars, $len); $time = microtime(true); hash_pbkdf2('sha256', $pw, 'salt', 100000); echo microtime(true) - $time . ' ms (PBKDF2 ' . strlen($pw) . " chars)\n"; } // SHA-1 $time = microtime(true); foreach ($lens as $len) { $pw = $r->getBytesFromString($chars, $len); $time = microtime(true); sha1($pw); echo microtime(true) - $time . ' ms (SHA-1 ' . strlen($pw) . " chars)\n"; }
Output for 8.3.8
0.059514999389648 ms (bcrypt 10 chars) 0.061221122741699 ms (bcrypt 100 chars) 0.061930179595947 ms (bcrypt 1000 chars) 0.059030055999756 ms (bcrypt 1048576 chars)
Process exited with code 137.
Output for 8.3.7
0.059752941131592 ms (bcrypt 10 chars) 0.059022903442383 ms (bcrypt 100 chars) 0.059601783752441 ms (bcrypt 1000 chars) 0.060373067855835 ms (bcrypt 1048576 chars) 0.057827949523926 ms (bcrypt 10485760 chars) 0.15480804443359 ms (PBKDF2 10 chars)
Process exited with code 137.
Output for 8.3.6
0.058140993118286 ms (bcrypt 10 chars) 0.057981967926025 ms (bcrypt 100 chars) 0.058121919631958 ms (bcrypt 1000 chars) 0.058317899703979 ms (bcrypt 1048576 chars) 0.057676076889038 ms (bcrypt 10485760 chars) 0.13656306266785 ms (PBKDF2 10 chars) 0.13621187210083 ms (PBKDF2 100 chars)
Process exited with code 137.
Output for 8.3.5
0.057045936584473 ms (bcrypt 10 chars) 0.056774854660034 ms (bcrypt 100 chars) 0.056721925735474 ms (bcrypt 1000 chars) 0.05680513381958 ms (bcrypt 1048576 chars) 0.057195901870728 ms (bcrypt 10485760 chars) 0.14997005462646 ms (PBKDF2 10 chars) 0.14685893058777 ms (PBKDF2 100 chars)
Process exited with code 137.
Output for 8.3.4
0.057193994522095 ms (bcrypt 10 chars) 0.05712103843689 ms (bcrypt 100 chars) 0.057064056396484 ms (bcrypt 1000 chars) 0.056993961334229 ms (bcrypt 1048576 chars) 0.058360815048218 ms (bcrypt 10485760 chars) 0.15749192237854 ms (PBKDF2 10 chars) 0.16501307487488 ms (PBKDF2 100 chars)
Process exited with code 137.
Output for 8.3.3
0.058241128921509 ms (bcrypt 10 chars) 0.058556079864502 ms (bcrypt 100 chars) 0.058329820632935 ms (bcrypt 1000 chars) 0.058187961578369 ms (bcrypt 1048576 chars) 0.058290004730225 ms (bcrypt 10485760 chars) 0.16766405105591 ms (PBKDF2 10 chars)
Process exited with code 137.
Output for 8.3.2
0.059477806091309 ms (bcrypt 10 chars) 0.057980060577393 ms (bcrypt 100 chars) 0.057973146438599 ms (bcrypt 1000 chars) 0.057411909103394 ms (bcrypt 1048576 chars) 0.058726072311401 ms (bcrypt 10485760 chars) 0.17193698883057 ms (PBKDF2 10 chars)
Process exited with code 137.
Output for 8.3.1
0.05915904045105 ms (bcrypt 10 chars) 0.060182094573975 ms (bcrypt 100 chars) 0.058799028396606 ms (bcrypt 1000 chars) 0.059413909912109 ms (bcrypt 1048576 chars) 0.058945894241333 ms (bcrypt 10485760 chars) 0.15505814552307 ms (PBKDF2 10 chars)
Process exited with code 137.
Output for 8.3.0
0.058679819107056 ms (bcrypt 10 chars) 0.05900502204895 ms (bcrypt 100 chars) 0.05881404876709 ms (bcrypt 1000 chars) 0.059164047241211 ms (bcrypt 1048576 chars) 0.058229207992554 ms (bcrypt 10485760 chars) 0.16766881942749 ms (PBKDF2 10 chars)
Process exited with code 137.
Output for 8.2.0 - 8.2.20
Fatal error: Uncaught Error: Call to undefined method Random\Randomizer::getBytesFromString() in /in/rMd8D:8 Stack trace: #0 {main} thrown in /in/rMd8D on line 8
Process exited with code 255.
Output for 8.1.0 - 8.1.29
Fatal error: Uncaught Error: Class "Random\Randomizer" not found in /in/rMd8D:2 Stack trace: #0 {main} thrown in /in/rMd8D on line 2
Process exited with code 255.

preferences:
93.33 ms | 421 KiB | 5 Q