3v4l.org

run code in 300+ PHP versions simultaneously
<?php $password = 'dupa123'; $salt = 'abcabcabcabcabcabcabca'; $cost = 12; $hashWithManualSalt = password_hash($password, PASSWORD_BCRYPT, ['salt' => $salt, 'cost' => 12]); $hashWithAutomaticSalt = password_hash($password, PASSWORD_BCRYPT, ['cost' => 12]); echo 'deprecated way (should be valid): ', password_hash('dupa123', PASSWORD_BCRYPT, ['salt' => $salt, 'cost' => 12]) === $hashWithManualSalt ? 'valid' : 'invalid', PHP_EOL; echo 'deprecated way (should be invalid): ', password_hash('dupa321', PASSWORD_BCRYPT, ['salt' => $salt, 'cost' => 12]) === $hashWithManualSalt ? 'valid' : 'invalid', PHP_EOL; echo 'new way (should be valid): ', password_verify('dupa123', $hashWithAutomaticSalt) ? 'valid' : 'invalid', PHP_EOL; echo 'new way (should be invalid): ', password_verify('dupa321', $hashWithAutomaticSalt) ? 'valid' : 'invalid', PHP_EOL;

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.60.0192.05016.55
7.2.50.0321.68214.75
7.2.40.0362.04714.88
7.2.30.0512.00214.99
7.2.20.0472.05714.97
7.2.10.0382.07314.67
7.2.00.0252.09615.08
7.1.170.0471.85913.92
7.1.160.0352.07113.53
7.1.150.0192.10613.65
7.1.140.0332.07313.83
7.1.130.0252.03113.85
7.1.120.0482.08813.88
7.1.110.0351.98413.76
7.1.100.0701.57813.69

preferences:
37.15 ms | 400 KiB | 5 Q