3v4l.org

run code in 300+ PHP versions simultaneously
<?php if (CRYPT_BLOWFISH == 1) { echo 'Blowfish: ' . crypt('ohgakiyasuo','$2y$12$usesomesillystringforsalt$') . "\n"; } if (CRYPT_SHA256 == 1) { echo 'SHA-256: ' . crypt('ohgakiyasuo','$5$rounds=9000$usesomesillystringforsalt$') . "\n"; } if (CRYPT_SHA512 == 1) { echo 'SHA-512: ' . crypt('ohgakiyasuo','$6$rounds=9000$usesomesillystringforsalt$') . "\n"; } // 無効な文字や空文字を指定した場合。エラー文字列が返る echo 'Blowfish: ' . crypt('ohgakiyasuo', '$2a$07$!"#$%&\'()0=~!"#$%&\'()0!"$') . "\n"; echo 'Blowfish: ' . crypt('ohgakiyasuo', '$2a$07$') . "\n"; // roundsでなくroundと間違っている。"round=9000"がソルトとして扱われる。 echo 'SHA-512: ' . crypt('ohgakiyasuo', '$6$round=9000$usesomesillystringforsalt$') . "\n"; // ソルト文字列に$が含まれていると、そこまでがソルトとなる echo 'SHA-512: ' . crypt('ohgakiyasuo', '$6$rounds=9000$usesome$sillystringforsalt$') . "\n"; // ソルト文字列なしでも利用可能(非推奨) echo 'SHA-512: ' . crypt('ohgakiyasuo', '$6$'). "\n";
Output for 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Blowfish: $2y$12$usesomesillystringforeXpSZPDV.MKc45652uPFKQUBc82xLwsi SHA-256: $5$rounds=9000$usesomesillystri$nYi5X3hJqMJw6IipB/iRkgVBnQFtuOkffEmvtEgXAqD SHA-512: $6$rounds=9000$usesomesillystri$Ur2afDSVdPdZBbNjNsjYjhWmyB49Acr1xM8PEKCtOE2HHpmBo2J3Dw1Dk.sfFp/AL2b2zVyW2M1mqnibxT0KL/ Blowfish: *0 Blowfish: *0 SHA-512: $6$round=9000$/8BLDWSiCWHmsoRpMk609m2sgtUW.NDC22uljrQq7Tw3Mlgnm0RQVgqElLJv/cUWpmSOAoh6dGIWuCdp49RO10 SHA-512: $6$rounds=9000$usesome$4wPfUcghRFMHh5YgvkBzq1kol0Z8SSPUkfe9u2rrRFrrxFp/KJLSl7norbGlfWmF6atMqQAeGds6Pzs/NA5HJ1 SHA-512: $6$$rska/19otJRaa8sktDzgZUtwH9DDlTs1vbMWyzWaQ4XKYKeufK6YnpfzOxHjSgDGZMqE.Md/QUfcG6WVwMoB4.
Output for 5.3.7 - 5.3.29, 5.4.0 - 5.4.45
Blowfish: $2y$12$usesomesillystringforeXpSZPDV.MKc45652uPFKQUBc82xLwsi SHA-256: $5$rounds=9000$usesomesillystri$nYi5X3hJqMJw6IipB/iRkgVBnQFtuOkffEmvtEgXAqD SHA-512: $6$rounds=9000$usesomesillystri$Ur2afDSVdPdZBbNjNsjYjhWmyB49Acr1xM8PEKCtOE2HHpmBo2J3Dw1Dk.sfFp/AL2b2zVyW2M1mqnibxT0KL/ Blowfish: *0 Blowfish: $2a$07$$$$$$$$$$$$$$$$$$$$$$.v6oRV/hRGnu1GmE70ZOtgwos8IPIMCC SHA-512: $6$round=9000$/8BLDWSiCWHmsoRpMk609m2sgtUW.NDC22uljrQq7Tw3Mlgnm0RQVgqElLJv/cUWpmSOAoh6dGIWuCdp49RO10 SHA-512: $6$rounds=9000$usesome$4wPfUcghRFMHh5YgvkBzq1kol0Z8SSPUkfe9u2rrRFrrxFp/KJLSl7norbGlfWmF6atMqQAeGds6Pzs/NA5HJ1 SHA-512: $6$$rska/19otJRaa8sktDzgZUtwH9DDlTs1vbMWyzWaQ4XKYKeufK6YnpfzOxHjSgDGZMqE.Md/QUfcG6WVwMoB4.
Output for 5.3.2 - 5.3.6
Blowfish: $2BU0KltREKZs SHA-256: $5$rounds=9000$usesomesillystri$nYi5X3hJqMJw6IipB/iRkgVBnQFtuOkffEmvtEgXAqD SHA-512: $6$rounds=9000$usesomesillystri$Ur2afDSVdPdZBbNjNsjYjhWmyB49Acr1xM8PEKCtOE2HHpmBo2J3Dw1Dk.sfFp/AL2b2zVyW2M1mqnibxT0KL/ Blowfish: *0 Blowfish: $2a$07$$$$$$$$$$$$$$$$$$$$$$.v6oRV/hRGnu1GmE70ZOtgwos8IPIMCC SHA-512: $6$round=9000$/8BLDWSiCWHmsoRpMk609m2sgtUW.NDC22uljrQq7Tw3Mlgnm0RQVgqElLJv/cUWpmSOAoh6dGIWuCdp49RO10 SHA-512: $6$rounds=9000$usesome$4wPfUcghRFMHh5YgvkBzq1kol0Z8SSPUkfe9u2rrRFrrxFp/KJLSl7norbGlfWmF6atMqQAeGds6Pzs/NA5HJ1 SHA-512: $6$$rska/19otJRaa8sktDzgZUtwH9DDlTs1vbMWyzWaQ4XKYKeufK6YnpfzOxHjSgDGZMqE.Md/QUfcG6WVwMoB4.
Output for 5.3.0 - 5.3.1
Blowfish: $2PhTUFxJSeio Notice: Use of undefined constant CRYPT_SHA256 - assumed 'CRYPT_SHA256' in /in/AGM16 on line 6 Notice: Use of undefined constant CRYPT_SHA512 - assumed 'CRYPT_SHA512' in /in/AGM16 on line 10 Blowfish: Blowfish: $2a$07$$$$$$$$$$$$$$$$$$$$$$.v6oRV/hRGnu1GmE70ZOtgwos8IPIMCC SHA-512: $6ruoUSDAxCW2 SHA-512: $6ruoUSDAxCW2 SHA-512: $6ruoUSDAxCW2
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
Notice: Use of undefined constant CRYPT_SHA256 - assumed 'CRYPT_SHA256' in /in/AGM16 on line 6 Notice: Use of undefined constant CRYPT_SHA512 - assumed 'CRYPT_SHA512' in /in/AGM16 on line 10
Process exited with code 139.

preferences:
292.9 ms | 402 KiB | 459 Q