@ 2014-03-11T19:38:04Z <?php
$salt = substr(str_replace('+', '.', base64_encode(sha1(microtime(true), true))), 0, 22);
// 2a is the bcrypt algorithm selector, see http://php.net/crypt
// 12 is the workload factor (around 300ms on my Core i7 machine), see http://php.net/crypt
echo $hash = crypt('falcon', '$2a$12$' . $salt);
echo "<br>";
echo '$2a$12$' . $salt;
// we can now use the generated hash as the argument to crypt(), since it too will contain $a2$12$... with a variation of the hash. No need to store the salt anymore, just the hash is enough!
var_dump($hash == crypt('foo', $hash)); // true
var_dump($hash == crypt('falcon', $hash)); // false
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 7.1.25 , 7.2.0 , 7.2.2 - 7.2.13 , 7.3.0 - 7.3.1 $2a$12$Hbdv7ccENNrclJjTjMFRvOD.OMAYtuCbEHmjJWFCr4r..yI8Mb2/2<br>$2a$12$Hbdv7ccENNrclJjTjMFRvPbool(false)
bool(true)
Output for 7.2.1 $2a$12$gXXYh0kE2V90Nv7dtOTEbe9S0O5MixyUL/D/Qn.dqfzdFUSkSd7U2<br>$2a$12$gXXYh0kE2V90Nv7dtOTEbfbool(false)
bool(true)
Output for 5.3.0 , 5.3.2 , 5.3.6 , 5.3.27 , 7.1.7 $2a$12$iha8ej5A8EKjkfi3abFk6uXT0Sy4Sz.70Qyk0AXJxqUiQjktOUAz6<br>$2a$12$iha8ej5A8EKjkfi3abFk66bool(false)
bool(true)
Output for 7.1.6 $2a$12$BAE.GnTZVIIkP3U2cGHeE.Hfd4KnFV.PBNpL6u1WmB1sqYHNyTrAq<br>$2a$12$BAE.GnTZVIIkP3U2cGHeEMbool(false)
bool(true)
Output for 7.1.5 $2a$12$5q2VXBn9luuV.ccgzjFeuuiMyocZWVPxz291UPiAoglsjkYslDF3q<br>$2a$12$5q2VXBn9luuV.ccgzjFeuwbool(false)
bool(true)
Output for 5.3.13 , 5.4.12 , 7.1.0 $2a$12$bSJ1OXKkUHhrLV0HwTnySevZ/KxyZj/ccG70KIj5PnIpr6JYinuki<br>$2a$12$bSJ1OXKkUHhrLV0HwTnySjbool(false)
bool(true)
Output for 5.3.10 , 7.0.20 $2a$12$Bl.WBnmfrX4KbIbWdAALLuxwCnhowA92XRnfCXF1rtBvDY3/Xjcy.<br>$2a$12$Bl.WBnmfrX4KbIbWdAALLybool(false)
bool(true)
Output for 5.4.13 , 7.0.14 $2a$12$hvgK9rfbW5egpIr714DLHOg1HEuQeEKovQagfZQvJoL06Onn6Bzl2<br>$2a$12$hvgK9rfbW5egpIr714DLHSbool(false)
bool(true)
Output for 7.0.6 $2a$12$SldxoXOrBXecRpkQsumISeoNXuUeAspAZDk1BLmXPCwXV2/jmYEnS<br>$2a$12$SldxoXOrBXecRpkQsumIShbool(false)
bool(true)
Output for 7.0.5 $2a$12$NZdihIKH7bsDEZedk80ysesSDxFRQ8RnqmdY.3gEqrQH4n3.rHx3y<br>$2a$12$NZdihIKH7bsDEZedk80yskbool(false)
bool(true)
Output for 7.0.4 $2a$12$p7C4iUyRxGuqLOFFKwMbDOcNxa8CSZrVox1Mr5uOX1TC0TYERSuD.<br>$2a$12$p7C4iUyRxGuqLOFFKwMbDbbool(false)
bool(true)
Output for 7.0.3 $2a$12$bJHDunehALA0b4zbA1TX6eyIGrdrUUn/PDJ4.ZdjMbcCu1ZUWZd02<br>$2a$12$bJHDunehALA0b4zbA1TX6mbool(false)
bool(true)
Output for 7.0.2 $2a$12$LJgoQxo8NGM0M6ZbvGJfWe/VuLbqRUQr/jWGPA7lTu8wT6ZukQlK.<br>$2a$12$LJgoQxo8NGM0M6ZbvGJfWpbool(false)
bool(true)
Output for 7.0.1 $2a$12$MQLLk2u0QijfO/AgPnUG6.Ph09Sh.G6qOKQ9F/qiAk.jwn08jeM.O<br>$2a$12$MQLLk2u0QijfO/AgPnUG6Gbool(false)
bool(true)
Output for 7.0.0 $2a$12$CCPT2BqZj492bdoyeueb5eJjrK4mprT8c7/o0wuqbNqDXVWGn5Dh6<br>$2a$12$CCPT2BqZj492bdoyeueb5kbool(false)
bool(true)
Output for 5.4.15 , 5.6.28 $2a$12$9pTv6Bareg4Ma6zTrjDAGukQfGLvWArVzqfJIXXeaBnH7iv7IazhS<br>$2a$12$9pTv6Bareg4Ma6zTrjDAG5bool(false)
bool(true)
Output for 5.6.21 $2a$12$Va5Hr3W0/S5VGU73zs18WulHyf9hDUyKUrmL40z1ewnCzoN.k5RW6<br>$2a$12$Va5Hr3W0/S5VGU73zs18W2bool(false)
bool(true)
Output for 5.6.20 $2a$12$uh53ibSajTBht5NhPjRhOOw2IaE2WtRgnuEJkKMucZZ7E0L5bpSh.<br>$2a$12$uh53ibSajTBht5NhPjRhOXbool(false)
bool(true)
Output for 5.6.19 $2a$12$isO8IyKi8TFMIy.6Q2fOx.6km5f.Du.FFhNi/BowtptJOvtb8Qvvu<br>$2a$12$isO8IyKi8TFMIy.6Q2fOxHbool(false)
bool(true)
Output for 5.6.18 $2a$12$.b4U0Oiye7HrdmwgeZaeXuTSq6/IenqhMBDUuRVLTGFsW1/J7gu32<br>$2a$12$.b4U0Oiye7HrdmwgeZaeX9bool(false)
bool(true)
Output for 5.6.17 $2a$12$zi.mSK4Cv/RBFLrmZdbEHeDpRkLA8a650jHJDr8A7WFy.MAuf05i6<br>$2a$12$zi.mSK4Cv/RBFLrmZdbEHqbool(false)
bool(true)
Output for 5.6.16 $2a$12$lSRu32Gp2u./eeKBBUZHSO4VcrG/eOSebDXVxeEUU5ovfePdb2k9y<br>$2a$12$lSRu32Gp2u./eeKBBUZHSSbool(false)
bool(true)
Output for 5.6.15 $2a$12$RWtZc8Kx.Tr.Hh9siWMR4unkp4KtbKZA7eGkOPZx3k4Dam8AB7Pz2<br>$2a$12$RWtZc8Kx.Tr.Hh9siWMR47bool(false)
bool(true)
Output for 5.6.14 $2a$12$pJKFLfZqkeRZ9F6RUDGa2euiMMJDbz642F5wmR6ix8kso9rTtoPpy<br>$2a$12$pJKFLfZqkeRZ9F6RUDGa2rbool(false)
bool(true)
Output for 5.6.13 $2a$12$BwHBRPDE7geU4g.f4WhyuOei61EHYJpuxU1OxivL0gXxX0kGP382u<br>$2a$12$BwHBRPDE7geU4g.f4WhyuZbool(false)
bool(true)
Output for 5.6.12 $2a$12$dmQqzFqpFAu3A7OfM0XuTutTrb8fQU06EYje7DhD7zROO5TO5dU0m<br>$2a$12$dmQqzFqpFAu3A7OfM0XuT0bool(false)
bool(true)
Output for 5.6.11 $2a$12$wP1YdJg6eRKMtFLQRXet/.NuPFelIs59QCW3OM1KtIwwYP/f2K2WO<br>$2a$12$wP1YdJg6eRKMtFLQRXet/Cbool(false)
bool(true)
Output for 5.6.10 $2a$12$ghHD0PtL/dM3lyczWFKym.ayq6MEyqbIx9dgtNaApPLpFLMipNGJ.<br>$2a$12$ghHD0PtL/dM3lyczWFKymCbool(false)
bool(true)
Output for 5.6.9 $2a$12$yxSlTh7ibYBo0epl5KrtL.1zQl2k5J/Ho59.Mr/BdrKkDMZuhbyvq<br>$2a$12$yxSlTh7ibYBo0epl5KrtLJbool(false)
bool(true)
Output for 5.6.8 $2a$12$Rp7U/FLW9FFC47y/nJ11v.qycNYCStznZum0iO/qVc2Q.Z5eVKZBi<br>$2a$12$Rp7U/FLW9FFC47y/nJ11vHbool(false)
bool(true)
Output for 5.5.35 $2a$12$XxfVPzFDVPMRQ33I6fTp4eQwu.g/cWdnRprPLWqwpNf1dMxaWxIaq<br>$2a$12$XxfVPzFDVPMRQ33I6fTp4jbool(false)
bool(true)
Output for 5.5.34 $2a$12$pMgFT9jnTKcdgQpQbMjhfO18SoOpxqUbgEdyKjD6ArNb/SySaheQ.<br>$2a$12$pMgFT9jnTKcdgQpQbMjhfRbool(false)
bool(true)
Output for 5.5.33 $2a$12$vykQH2NTLk1VuAkb01EZdOth3RXlq9erWao1Fcn1J4nixBUGfhstO<br>$2a$12$vykQH2NTLk1VuAkb01EZdbbool(false)
bool(true)
Output for 5.5.32 $2a$12$1CMmLfpdNf7ZhV/G46GkpuK3ii2xDzx7RJCgp0lNKOyhEqCPYMGqq<br>$2a$12$1CMmLfpdNf7ZhV/G46Gkp2bool(false)
bool(true)
Output for 5.5.31 $2a$12$kPI8rJJsshBuaCLqttLd0udUQWMlU2taJcMgbYKDp7SEpx9j960TC<br>$2a$12$kPI8rJJsshBuaCLqttLd0vbool(false)
bool(true)
Output for 5.5.30 $2a$12$.1ZYKCzqSck36LHcR5.gxeErXLF/zvW.BpU8DJi2fBgen..ocwoES<br>$2a$12$.1ZYKCzqSck36LHcR5.gxtbool(false)
bool(true)
Output for 5.5.29 $2a$12$YshyKqqKdqWyuij7tDH73ODS41OLq5.Po2oF0eOGNdIN/S4c4ukIy<br>$2a$12$YshyKqqKdqWyuij7tDH73Xbool(false)
bool(true)
Output for 5.5.28 $2a$12$DUxO2PQYbw0xkLpP0tm3YOdXjQR9VUpsF8oDfyhUzWT/X/48YeHRK<br>$2a$12$DUxO2PQYbw0xkLpP0tm3YZbool(false)
bool(true)
Output for 5.5.27 $2a$12$EYaN7T0cumjbpkCxsjrMN.7HTyCaklGnIWUrOBXWZK4myKwCVdlWy<br>$2a$12$EYaN7T0cumjbpkCxsjrMNFbool(false)
bool(true)
Output for 5.5.26 $2a$12$/vsXw2YgoE0QiTn1W0Qcw.4ymdT5TyKrERvomR23rYlHTzGbAztJq<br>$2a$12$/vsXw2YgoE0QiTn1W0QcwHbool(false)
bool(true)
Output for 5.5.25 $2a$12$shL3xtUAfbxuuj1G8BMBDOC7lfs2q9BoMrnCkTE9S9VZQJGkW3EFu<br>$2a$12$shL3xtUAfbxuuj1G8BMBDXbool(false)
bool(true)
Output for 5.5.24 $2a$12$1rbE2gLgqHtxUEqha3r3qubaSciRud/aCQfKg.oaV2lqz1wjjcWAi<br>$2a$12$1rbE2gLgqHtxUEqha3r3q3bool(false)
bool(true)
Output for 5.4.45 $2a$12$HRe/SiYe2l2uvGG2sAYXyuRASA8dAa9iS1ISqPsiXRRnpwnSrFfq.<br>$2a$12$HRe/SiYe2l2uvGG2sAYXy7bool(false)
bool(true)
Output for 5.4.44 $2a$12$K2U4UupQ88s1LcQjoaG3Su1n9llHDC83V6cDS27b6AaDllHbFaOEC<br>$2a$12$K2U4UupQ88s1LcQjoaG3S8bool(false)
bool(true)
Output for 5.4.43 $2a$12$vBfTOtSamW0g9pQSOf0kDuo07JgTDtJQWZCw1D3NAZB1cpm.YM/DO<br>$2a$12$vBfTOtSamW0g9pQSOf0kDwbool(false)
bool(true)
Output for 5.4.42 $2a$12$udX8hOtIxYHWnUdIkzEOdui2RSO9J.EdY.HHs61gcJol0l6P24Aii<br>$2a$12$udX8hOtIxYHWnUdIkzEOd5bool(false)
bool(true)
Output for 5.4.41 $2a$12$bE3.WGajDx7aJRCovApCW.3REHSa86JPqoTVR6Q0WDMFaQd5kn4PG<br>$2a$12$bE3.WGajDx7aJRCovApCW.bool(false)
bool(true)
Output for 5.4.40 $2a$12$tA98vJJrGPnBi4sjQkgJ1egBjWxlBjH5t96x46zcWOdOGff6GyF.G<br>$2a$12$tA98vJJrGPnBi4sjQkgJ1kbool(false)
bool(true)
Output for 5.4.39 $2a$12$dEDQvzzf4OvkxUgxK/vBH.EwivSlHZOyBi1rAQE9gpchVgHMYkVUe<br>$2a$12$dEDQvzzf4OvkxUgxK/vBHBbool(false)
bool(true)
Output for 5.4.38 $2a$12$66VwFoCFyPnGUVymqoKwGuBtjtcz30pjw2ONVFQu1kJiVL7ZW8DAa<br>$2a$12$66VwFoCFyPnGUVymqoKwG3bool(false)
bool(true)
Output for 5.4.37 $2a$12$Kq.R1yjIxWcK.CN5XPpLH.GpmwG.pIu00ozbKOdpvoYRBMeHnFPcG<br>$2a$12$Kq.R1yjIxWcK.CN5XPpLHEbool(false)
bool(true)
Output for 5.4.36 $2a$12$rp7plvH82yJyXFTrEa4L7uiT86/6V/va8LRVF.H5.gx6Bv4bPz1qC<br>$2a$12$rp7plvH82yJyXFTrEa4L7vbool(false)
bool(true)
Output for 5.4.35 $2a$12$.bD0QRPJAp0rfXMC5swEo.U99nLg6F3Pcq0hv8WAanQ4qqLzLANOG<br>$2a$12$.bD0QRPJAp0rfXMC5swEo.bool(false)
bool(true)
Output for 5.4.34 $2a$12$T7cIeVcjJxdVfuQ.QzIJqO1xBLpT1GOnLzxERxuLWBG86Y5oY4iGe<br>$2a$12$T7cIeVcjJxdVfuQ.QzIJqZbool(false)
bool(true)
Output for 5.4.32 $2a$12$QcNlKXD8Bjn4i85vZK/RveXlvfPLqP7i7Ypa.2mUhfnOGZRUTB9v2<br>$2a$12$QcNlKXD8Bjn4i85vZK/Rvnbool(false)
bool(true)
Output for 5.4.31 $2a$12$gZ/QetpdGHrGUSv.WO9dauuiZHXWe9elw6mjIPMW3ZJv9nHtmIgTq<br>$2a$12$gZ/QetpdGHrGUSv.WO9davbool(false)
bool(true)
Output for 5.4.30 $2a$12$CVOUzWmtwTMYk6z2CQZEsuBQZ2IoXgItvr8andvmnTudW8gELKBN2<br>$2a$12$CVOUzWmtwTMYk6z2CQZEs5bool(false)
bool(true)
Output for 5.4.29 $2a$12$BxDuS2WxoLks7i2LliiG5.gGdBLX8EtDnsqGDPpGwnew3vQYJP2vi<br>$2a$12$BxDuS2WxoLks7i2LliiG5Lbool(false)
bool(true)
Output for 5.4.28 $2a$12$Sz5cZ6SqorR8Y/kIrWJO9e3pYyJsW6mSjT/jMX5KheDZRtTQur3Nu<br>$2a$12$Sz5cZ6SqorR8Y/kIrWJO9tbool(false)
bool(true)
Output for 5.4.27 $2a$12$YdIQXJhGZARYdx.BB5qXVuXKMiSn7xuIlxFOMF9vXkdYhVIK8.i.u<br>$2a$12$YdIQXJhGZARYdx.BB5qXVzbool(false)
bool(true)
Output for 5.4.26 $2a$12$wyO9B53NNEUvf8QnwADzaeul7MwWZX7sC38Xa1sjquNoU90kfvllC<br>$2a$12$wyO9B53NNEUvf8QnwADzarbool(false)
bool(true)
Output for 5.4.17 , 5.4.25 $2a$12$lie411PunA/QHBft1dAiBOrwQ0eoSl1I.31qS0ulKYPNc.g0IoM7u<br>$2a$12$lie411PunA/QHBft1dAiBbbool(false)
bool(true)
Output for 5.4.24 $2a$12$rCcDlP3Fdj01EduK2t8MNujJd3Be7o2wy43eMiaY/k79CT0EcHbrS<br>$2a$12$rCcDlP3Fdj01EduK2t8MN8bool(false)
bool(true)
Output for 5.4.23 $2a$12$S7pg3sbfRkrjAX.FU.aGluRki3rRJJUR0z7b.jY1LgI9fLJD8zEY.<br>$2a$12$S7pg3sbfRkrjAX.FU.aGlwbool(false)
bool(true)
Output for 5.4.20 , 5.4.22 $2a$12$kG833.lpjhIqXgD.iuWFk.APZIRMfZdPHZ754wXP55TrMRzNtkV8.<br>$2a$12$kG833.lpjhIqXgD.iuWFkMbool(false)
bool(true)
Output for 5.4.21 $2a$12$9IlMCa9rYMo7vKue3dbZSOTwZy.4u.vSufKfLQWPIlneidsmJfvie<br>$2a$12$9IlMCa9rYMo7vKue3dbZSTbool(false)
bool(true)
Output for 5.4.19 $2a$12$nVo4yHvKV.jCZwslvaR4tuiEodzfw5npJWIIOjdlvzddRl7s6zc0S<br>$2a$12$nVo4yHvKV.jCZwslvaR4t1bool(false)
bool(true)
Output for 5.4.3 , 5.4.16 , 5.4.18 $2a$12$ZaR5rbIjzI4EDwSwNkLxxux0MqnyQ6ksBenhbn5jgL6pEsIyITFG.<br>$2a$12$ZaR5rbIjzI4EDwSwNkLxx5bool(false)
bool(true)
Output for 5.3.9 , 5.3.21 , 5.4.1 , 5.4.14 $2a$12$yATR/f88X1lZS71TVI2PCu1XDrFSY0Zi4EGZ/Z1gCrmWVno3nq4C2<br>$2a$12$yATR/f88X1lZS71TVI2PCxbool(false)
bool(true)
Output for 5.3.1 , 5.3.5 , 5.3.8 , 5.3.15 , 5.3.17 - 5.3.18 , 5.3.20 , 5.4.10 - 5.4.11 $2a$12$1RV93WlvSwtPTA959nENZedhLEF4p.LK5Wh0ViYqSSp2gNkqxAnwG<br>$2a$12$1RV93WlvSwtPTA959nENZmbool(false)
bool(true)
Output for 5.4.4 , 5.4.9 $2a$12$xuroQ9DB5Xf3Cz3VHTfqoeXCa/V6TFm354HBg56mx7pKFxrINgjWi<br>$2a$12$xuroQ9DB5Xf3Cz3VHTfqogbool(false)
bool(true)
Output for 5.3.11 , 5.3.26 , 5.4.8 $2a$12$d14PNBDqYdfRXtjdkRUCYeuxLCMUdeTueS3s4XIskfUvwJmFnkLhy<br>$2a$12$d14PNBDqYdfRXtjdkRUCYjbool(false)
bool(true)
Output for 5.3.16 , 5.4.0 , 5.4.7 $2a$12$Tqw0gpvM9BZtSm16vMFibe6OEHj0s8SbpVkGi/5sQsN9utfJAirPi<br>$2a$12$Tqw0gpvM9BZtSm16vMFibjbool(false)
bool(true)
Output for 5.3.14 , 5.3.22 , 5.4.6 $2a$12$.sDZuaMblvjqrAS1lgVl8.dobW2enwgVai7gGFBuCvyPOZ61wGbnC<br>$2a$12$.sDZuaMblvjqrAS1lgVl8/bool(false)
bool(true)
Output for 5.4.2 , 5.4.5 $2a$12$HQXauSR0fWnpP48yfEsjFOdTVmLcWolv8CM09n29HhboMCZJmeqN.<br>$2a$12$HQXauSR0fWnpP48yfEsjFXbool(false)
bool(true)
Output for 5.3.29 $2a$12$j1JB2CtHUMuSyuumW9S7OOKtnWQWLdA/MctQE95/GLrmso9EGY4BK<br>$2a$12$j1JB2CtHUMuSyuumW9S7Odbool(false)
bool(true)
Output for 5.3.28 $2a$12$swZcWkCWKIJLPmTS5gPNAuGZLCI3QqKmGaAd50xp4/7rB3.wJGA2a<br>$2a$12$swZcWkCWKIJLPmTS5gPNA0bool(false)
bool(true)
Output for 5.3.4 , 5.3.25 $2a$12$ub4aixvbsBc1Nqk2hRDVCOyuy0HNWwwcDO29/Mun3BfBhHZl7C2vu<br>$2a$12$ub4aixvbsBc1Nqk2hRDVCbbool(false)
bool(true)
Output for 5.3.7 , 5.3.12 , 5.3.19 , 5.3.24 $2a$12$pA8xVUKYgWuevpzd.tFD9.3NkFcd8KMsI7OPUQ/BRp74U6wFH0wmi<br>$2a$12$pA8xVUKYgWuevpzd.tFD9Bbool(false)
bool(true)
Output for 5.3.3 , 5.3.23 $2a$12$itohWElnNLvS2bzSuTOIYuJUF.agAZaE0O9xNuGXS/OhMLOsoWn4G<br>$2a$12$itohWElnNLvS2bzSuTOIY2bool(false)
bool(true)
Output for 5.0.0 - 5.0.5 , 5.1.1 - 5.1.6 , 5.2.0 - 5.2.17 Process exited with code 139 . Output for 5.1.0 Fatal error: fatal flex scanner internal error--end of buffer missed in /in/aPo47 on line 13
Process exited with code 255 . Output for 4.3.0 - 4.3.11 , 4.4.0 - 4.4.9 Warning: Wrong parameter count for sha1() in /in/aPo47 on line 3
Process exited with code 139 . preferences:dark mode live preview
162.63 ms | 402 KiB | 190 Q