3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?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.6, 5.3.8 - 5.6.25, 7.0.0 - 7.1.0
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.6.28, hhvm-3.10.0 - 3.12.0
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 5.3.7
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
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 - 5.2.17

Process exited with code 139.