3v4l.org

run code in 300+ PHP versions simultaneously
<?php $str = ''; $hashes = array(); $salts = array('BCRYPT' => '$2a$04$1234567890123456789012', 'SHA256' => '$5$rounds=1000$usesomesillystringforsalt$','SHA512' => '$6$rounds=1000$usesomesillystringforsalt$', 'MD5' => '$1$rasmusle$'); foreach ($salts as $algo => $salt) { do { $str .= '0'; $hashes[] = crypt($str, $salt); if (count(array_unique($hashes)) === count($hashes)) $allUnique = true; else $allUnique = false; if (strlen($str) > 500) { echo "Could not detect trunction after 500 characters for $algo...giving up...\n\n"; break; } } while($allUnique); echo "Stopped at " . strlen($str) . " characters for salt $algo before truncation was detected...\n\n"; $lst = array_pop($hashes); $stl = array_pop($hashes); echo "$stl\n$lst"; }
Output for 5.3.2 - 5.3.7, 5.6.38, 7.1.22, 7.2.10 - 7.2.31, 7.3.18, 7.4.5 - 7.4.6, 8.1.28, 8.2.16 - 8.2.18, 8.3.3 - 8.3.6
Stopped at 73 characters for salt BCRYPT before truncation was detected... $2a$04$123456789012345678901ucLrgvM.TkrxjZYl6pfDktLTbZfVhAXy $2a$04$123456789012345678901ucLrgvM.TkrxjZYl6pfDktLTbZfVhAXy
Process exited with code 137.
Output for 7.4.4
Stopped at 73 characters for salt BCRYPT before truncation was detected... $2a$04$123456789012345678901ucLrgvM.TkrxjZYl6pfDktLTbZfVhAXy $2a$04$123456789012345678901ucLrgvM.TkrxjZYl6pfDktLTbZfVhAXyCould not detect trunction after 500 characters for SHA256...giving up... Stopped at 501 characters for salt SHA256 before truncation was detected... $5$rounds=1000$usesomesillystri$V5Qkzlk5Wkj0A74.z3/m2oiryLBD43b.vn0XdyO9I38 $5$rounds=1000$usesomesillystri$5mk5LU.E1hz.y0B2t8Op4x7hfPJ8tWKM8QEN1gYbwH0Could not detect trunction after 500 characters for SHA512...giving up... Stopped at 502 characters for salt SHA512 before truncation was detected... $5$rounds=1000$usesomesillystri$GcIpfLWY3U9TDtHtvvN3lL19wThmoCLYe6XVRLMDTu1 $6$rounds=1000$usesomesillystri$VeHUanSdzk7EN1xGxDmv70NrYDrupf26NySNRJzNn1XJ9NWztK9s87OBtWqJd1A0ZaZUmh55SN3wC/syfb9C00Could not detect trunction after 500 characters for MD5...giving up... Stopped at 503 characters for salt MD5 before truncation was detected... $5$rounds=1000$usesomesillystri$Fn5yraz2m.4zybblliipm38YYoX1Kl5K5aqdQJmmb20 $1$rasmusle$sNq4LG3CXP9obM7lGY.1z.
Output for 5.3.0 - 5.3.1
Stopped at 73 characters for salt BCRYPT before truncation was detected... $2a$04$123456789012345678901ucLrgvM.TkrxjZYl6pfDktLTbZfVhAXy $2a$04$123456789012345678901ucLrgvM.TkrxjZYl6pfDktLTbZfVhAXyStopped at 75 characters for salt SHA256 before truncation was detected... $53G03A9moprc $53G03A9moprcStopped at 77 characters for salt SHA512 before truncation was detected... $6xXnHmACRHmA $6xXnHmACRHmACould not detect trunction after 500 characters for MD5...giving up... Stopped at 501 characters for salt MD5 before truncation was detected... $1$rasmusle$xKLUlMZ2gYT.OQU550OEq0 $1$rasmusle$dCbS3tOpdMHOBjBr.ukvw1
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17

Process exited with code 139.

preferences:
85.59 ms | 402 KiB | 82 Q