3v4l.org

run code in 300+ PHP versions simultaneously
<?php $pass = 'secret'; $salt = '$2y$07$usesomesillystringforsalt$'; $hash = crypt($pass, $salt); var_dump( $hash, str_split($hash) // the 22th salt character 'e' is on index 28 ); function meow($char) { $hash = crypt('secret', '$2y$04$usesomesillystringfor' . $char); $substr = substr($hash, 28, 1); $dec = ord($substr); $bin = decbin($dec); var_dump( $hash, $char, $dec, $bin, decbin(ord($char)) ); } $alphabet = str_split('abcdefghijklmnopqrstuvwxyz'); foreach($alphabet as $char) { meow($char); }
Output for git.master, git.master_jit, rfc.property-hooks
string(60) "$2y$07$usesomesillystringforex.u2VJUMLRWaJNuw0Hu2FvCEimdeYVO" array(60) { [0]=> string(1) "$" [1]=> string(1) "2" [2]=> string(1) "y" [3]=> string(1) "$" [4]=> string(1) "0" [5]=> string(1) "7" [6]=> string(1) "$" [7]=> string(1) "u" [8]=> string(1) "s" [9]=> string(1) "e" [10]=> string(1) "s" [11]=> string(1) "o" [12]=> string(1) "m" [13]=> string(1) "e" [14]=> string(1) "s" [15]=> string(1) "i" [16]=> string(1) "l" [17]=> string(1) "l" [18]=> string(1) "y" [19]=> string(1) "s" [20]=> string(1) "t" [21]=> string(1) "r" [22]=> string(1) "i" [23]=> string(1) "n" [24]=> string(1) "g" [25]=> string(1) "f" [26]=> string(1) "o" [27]=> string(1) "r" [28]=> string(1) "e" [29]=> string(1) "x" [30]=> string(1) "." [31]=> string(1) "u" [32]=> string(1) "2" [33]=> string(1) "V" [34]=> string(1) "J" [35]=> string(1) "U" [36]=> string(1) "M" [37]=> string(1) "L" [38]=> string(1) "R" [39]=> string(1) "W" [40]=> string(1) "a" [41]=> string(1) "J" [42]=> string(1) "N" [43]=> string(1) "u" [44]=> string(1) "w" [45]=> string(1) "0" [46]=> string(1) "H" [47]=> string(1) "u" [48]=> string(1) "2" [49]=> string(1) "F" [50]=> string(1) "v" [51]=> string(1) "C" [52]=> string(1) "E" [53]=> string(1) "i" [54]=> string(1) "m" [55]=> string(1) "d" [56]=> string(1) "e" [57]=> string(1) "Y" [58]=> string(1) "V" [59]=> string(1) "O" } string(60) "$2y$04$usesomesillystringforO39NrdGdUB971lBvQsBQuXFieBCzpgaS" string(1) "a" int(79) string(7) "1001111" string(7) "1100001" string(60) "$2y$04$usesomesillystringforO39NrdGdUB971lBvQsBQuXFieBCzpgaS" string(1) "b" int(79) string(7) "1001111" string(7) "1100010" string(60) "$2y$04$usesomesillystringforO39NrdGdUB971lBvQsBQuXFieBCzpgaS" string(1) "c" int(79) string(7) "1001111" string(7) "1100011" string(60) "$2y$04$usesomesillystringforO39NrdGdUB971lBvQsBQuXFieBCzpgaS" string(1) "d" int(79) string(7) "1001111" string(7) "1100100" string(60) "$2y$04$usesomesillystringforeQFUdqyq2gRtruz.0ZfD..K./XQ/4lNi" string(1) "e" int(101) string(7) "1100101" string(7) "1100101" string(60) "$2y$04$usesomesillystringforeQFUdqyq2gRtruz.0ZfD..K./XQ/4lNi" string(1) "f" int(101) string(7) "1100101" string(7) "1100110" string(60) "$2y$04$usesomesillystringforeQFUdqyq2gRtruz.0ZfD..K./XQ/4lNi" string(1) "g" int(101) string(7) "1100101" string(7) "1100111" string(60) "$2y$04$usesomesillystringforeQFUdqyq2gRtruz.0ZfD..K./XQ/4lNi" string(1) "h" int(101) string(7) "1100101" string(7) "1101000" string(60) "$2y$04$usesomesillystringforeQFUdqyq2gRtruz.0ZfD..K./XQ/4lNi" string(1) "i" int(101) string(7) "1100101" string(7) "1101001" string(60) "$2y$04$usesomesillystringforeQFUdqyq2gRtruz.0ZfD..K./XQ/4lNi" string(1) "j" int(101) string(7) "1100101" string(7) "1101010" string(60) "$2y$04$usesomesillystringforeQFUdqyq2gRtruz.0ZfD..K./XQ/4lNi" string(1) "k" int(101) string(7) "1100101" string(7) "1101011" string(60) "$2y$04$usesomesillystringforeQFUdqyq2gRtruz.0ZfD..K./XQ/4lNi" string(1) "l" int(101) string(7) "1100101" string(7) "1101100" string(60) "$2y$04$usesomesillystringforeQFUdqyq2gRtruz.0ZfD..K./XQ/4lNi" string(1) "m" int(101) string(7) "1100101" string(7) "1101101" string(60) "$2y$04$usesomesillystringforeQFUdqyq2gRtruz.0ZfD..K./XQ/4lNi" string(1) "n" int(101) string(7) "1100101" string(7) "1101110" string(60) "$2y$04$usesomesillystringforeQFUdqyq2gRtruz.0ZfD..K./XQ/4lNi" string(1) "o" int(101) string(7) "1100101" string(7) "1101111" string(60) "$2y$04$usesomesillystringforeQFUdqyq2gRtruz.0ZfD..K./XQ/4lNi" string(1) "p" int(101) string(7) "1100101" string(7) "1110000" string(60) "$2y$04$usesomesillystringforeQFUdqyq2gRtruz.0ZfD..K./XQ/4lNi" string(1) "q" int(101) string(7) "1100101" string(7) "1110001" string(60) "$2y$04$usesomesillystringforeQFUdqyq2gRtruz.0ZfD..K./XQ/4lNi" string(1) "r" int(101) string(7) "1100101" string(7) "1110010" string(60) "$2y$04$usesomesillystringforeQFUdqyq2gRtruz.0ZfD..K./XQ/4lNi" string(1) "s" int(101) string(7) "1100101" string(7) "1110011" string(60) "$2y$04$usesomesillystringforeQFUdqyq2gRtruz.0ZfD..K./XQ/4lNi" string(1) "t" int(101) string(7) "1100101" string(7) "1110100" string(60) "$2y$04$usesomesillystringforuVFvfQhOcCJqSx1gLR0iLcbuxOJr1ARG" string(1) "u" int(117) string(7) "1110101" string(7) "1110101" string(60) "$2y$04$usesomesillystringforuVFvfQhOcCJqSx1gLR0iLcbuxOJr1ARG" string(1) "v" int(117) string(7) "1110101" string(7) "1110110" string(60) "$2y$04$usesomesillystringforuVFvfQhOcCJqSx1gLR0iLcbuxOJr1ARG" string(1) "w" int(117) string(7) "1110101" string(7) "1110111" string(60) "$2y$04$usesomesillystringforuVFvfQhOcCJqSx1gLR0iLcbuxOJr1ARG" string(1) "x" int(117) string(7) "1110101" string(7) "1111000" string(60) "$2y$04$usesomesillystringforuVFvfQhOcCJqSx1gLR0iLcbuxOJr1ARG" string(1) "y" int(117) string(7) "1110101" string(7) "1111001" string(60) "$2y$04$usesomesillystringforuVFvfQhOcCJqSx1gLR0iLcbuxOJr1ARG" string(1) "z" int(117) string(7) "1110101" string(7) "1111010"

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
37.78 ms | 413 KiB | 8 Q