3v4l.org

run code in 300+ PHP versions simultaneously
<?php class security { public function addSalt($pass) { $salt1='abcdefghijkl'; //OUR FIRST 12 CHAR SALT $salt2='opqrstuvwxyz'; //OUR 2ND 12 CHAR SALT $md5 = (md5($pass)); $hash1 = $salt1.$md5.$salt2;// SALT1-MD5-SALT2 COMBINED $hash2 = strrev($hash1); //WE FLIP-REVERSE THE HASH return $hash2;//CHANGE TO RETURN }//end func public function unSalt($pass2) { $a1 = substr($pass2, -44); // WE STRIP THE FIRST 12 CHAR SALT $b1 = strrev($a1); //WE UN-FLIP THE HASH return substr($b1, -32); // WE FETCH OUR ORIGINAL MD5 AND STRIP THE 2ND SALT }//end func }//end class $h = ''; $sc = new security; for ($i = 0; $i < 100; ++$i) { echo $sc->addSalt($i), "\n"; }
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 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.19, 8.3.0 - 8.3.7
zyxwvutsrqpoad46789f9ffd7e66fe565d594802dcfclkjihgfedcba zyxwvutsrqpob94857f6a905ccd028329b0a8324ac4clkjihgfedcba zyxwvutsrqpoc26841cc98f760f636f2c4d9d827e18clkjihgfedcba zyxwvutsrqpo3fab7a2f9df80382ef2ec5b4e78cbccelkjihgfedcba zyxwvutsrqpoc2212457b76a1819d17e3f2a976ff78alkjihgfedcba zyxwvutsrqpo5d813a4760b2777d5432ecbbf7b3ad4elkjihgfedcba zyxwvutsrqpocd2b1be7806e5bf6faf088a5c1909761lkjihgfedcba zyxwvutsrqpo3452aeb4dded63a5a761aeecf54e41f8lkjihgfedcba zyxwvutsrqpod632e7920df15f9519ba89bf598f0f9clkjihgfedcba zyxwvutsrqpo62da6c7c15cfa1aedbf7d2e2ecc84c54lkjihgfedcba zyxwvutsrqpo028e361d6e83d55795244a2086449d3dlkjihgfedcba zyxwvutsrqpoacd25628a0b099c20e6aac9d34db2156lkjihgfedcba zyxwvutsrqpo0176ffb99c0a72aa95779ef67d4da02clkjihgfedcba zyxwvutsrqpo93fa2cf79b4e5bd0e01a421c014ec15clkjihgfedcba zyxwvutsrqpo65cdff525be606f6a52ccb2298323baalkjihgfedcba zyxwvutsrqpo3ff2f8f1db8c3d69a639260ff7c13fb9lkjihgfedcba zyxwvutsrqpofab79edab5d9aa44e752eae10b79d47clkjihgfedcba zyxwvutsrqpobf55b636244c597970680b9ce2fdfe07lkjihgfedcba zyxwvutsrqpo32d6f9922da4fdc8a16186554f2294f6lkjihgfedcba zyxwvutsrqpo4cffdbaff8f9347f54380999dad3e0f1lkjihgfedcba zyxwvutsrqpo48b3a6016eb786574c49101280731f89lkjihgfedcba zyxwvutsrqpo970d47c5a9708eb3420588e840cd95c3lkjihgfedcba zyxwvutsrqpo9bc0866885e0b44a12d5de8f2d767d6blkjihgfedcba zyxwvutsrqpodcaa9b8d7c8b78d54e940847cfc39673lkjihgfedcba zyxwvutsrqpof556c18834924f31ad8f500477ed1ff1lkjihgfedcba zyxwvutsrqpoce3fb3a5f50ded07336573a760a692e8lkjihgfedcba zyxwvutsrqpo7763516b51a9ac0ed60d3643dec237e4lkjihgfedcba zyxwvutsrqpo0f6ddf4b2f831d868da7230e01f47e20lkjihgfedcba zyxwvutsrqpo981251930153f96ebb106dd90ff57e33lkjihgfedcba zyxwvutsrqpob12e713c04449091e9bfe0aab1ba9ae6lkjihgfedcba zyxwvutsrqpof3038219ca2cbebdd98f70f83bc37143lkjihgfedcba zyxwvutsrqpo5fe653df43c3859d035574af0235a61clkjihgfedcba zyxwvutsrqpo10b0e6c5b3d8fcd9ba6b594f0f3d4636lkjihgfedcba zyxwvutsrqpoe6d3d4eedc4681bb2705dcdc5c0eb281lkjihgfedcba zyxwvutsrqpodb365f316ff0de1e44af667fd358963elkjihgfedcba zyxwvutsrqpo81b7bcefda39205ba892c7b03dc383c1lkjihgfedcba zyxwvutsrqpo22c4e585d31be0e24a8236ae7e41ac91lkjihgfedcba zyxwvutsrqpod569dc485cf59beddd8f46970e9cfb5alkjihgfedcba zyxwvutsrqpoaaed5e0dfd9dc7f63c002e39ecb1775alkjihgfedcba zyxwvutsrqpoc33197872e353aa22fb01c4f4ba8d76dlkjihgfedcba zyxwvutsrqpo0e2ef3ace0debbb7dadef593e029546dlkjihgfedcba zyxwvutsrqpocfea2f2e8dcac7059019aec4f57a6143lkjihgfedcba zyxwvutsrqpo6a85ca4f3601648d723720f38e6c0d1alkjihgfedcba zyxwvutsrqpob80c2471e0cb1d4afd6858cf66126e71lkjihgfedcba zyxwvutsrqpo6ce1f2782d8cf83b4ffd338c3617717flkjihgfedcba zyxwvutsrqpof8938a1386931b3e26ea0627cc9438c6lkjihgfedcba zyxwvutsrqpof0779b1e6a4a1a570e2a578e594f4d9dlkjihgfedcba zyxwvutsrqpo7df3fa9d6ba847af6d3d65ec7e1a6c76lkjihgfedcba zyxwvutsrqpo6b81b1e1e35b18843712497bfe29e246lkjihgfedcba zyxwvutsrqpo0c27a54174eece81f88ded9a545c754flkjihgfedcba zyxwvutsrqpoa0cdb57204f69cfeacd3db03d67c7c0clkjihgfedcba zyxwvutsrqpo887b127f807212cdceafd877a3208382lkjihgfedcba zyxwvutsrqpo8cdb9e4a4960dbddac24afd4518511a9lkjihgfedcba zyxwvutsrqpo0f55e2bfc354566d6718da9161d8c28dlkjihgfedcba zyxwvutsrqpo6348cb598a682377225cf67eeece486alkjihgfedcba zyxwvutsrqpo11edb9c1519228620ec09ba6d3a3b35blkjihgfedcba zyxwvutsrqpo664f6ed02b1fdc05e336bfa3e80416f9lkjihgfedcba zyxwvutsrqpof7edc6bc0e5963b90c1ab457f1a23b27lkjihgfedcba zyxwvutsrqpo9973c98a822e7a50b82906a61e140f66lkjihgfedcba zyxwvutsrqpo2aa64a2275c1b6708f592a080e56f390lkjihgfedcba zyxwvutsrqpo44de9eb243f4732b4f2b621ab030b270lkjihgfedcba zyxwvutsrqpo19520abe826c4fe8891bdbf7138f93f7lkjihgfedcba zyxwvutsrqpoc8cb800e2c75efa3253b36148a386f44lkjihgfedcba zyxwvutsrqpo4a38af4387958f521b9297e66dbdfa30lkjihgfedcba zyxwvutsrqpo5315e899d3aa3d70e2328064c1f2d5aelkjihgfedcba zyxwvutsrqpobf6fdf4a4553ebb9421b00c54ac094cflkjihgfedcba zyxwvutsrqpo1bc2cf5b1b63c33deaac4fbca67c5923lkjihgfedcba zyxwvutsrqpo850e6b918876f3c6de5218654b09b537lkjihgfedcba zyxwvutsrqpobd78f5b1f2afb7472f14c4e88d093f3alkjihgfedcba zyxwvutsrqpo64083de12a820abb54e57841bb6afb41lkjihgfedcba zyxwvutsrqpo512f60e1db57c87c91f099ce904cbbc7lkjihgfedcba zyxwvutsrqpo415173b91ce2ff0ec8fb4d829d024c2elkjihgfedcba zyxwvutsrqpod12f66ef01ad5d8925baa6798e09bb23lkjihgfedcba zyxwvutsrqpo5c7c3e4db63e3268ec56600f81aedd2dlkjihgfedcba zyxwvutsrqpo15296eb3852d7c42cbfe322341ba16dalkjihgfedcba zyxwvutsrqpo3c53e5bbe7709c64a5633a44514fb90dlkjihgfedcba zyxwvutsrqpo4c3368ed43d2964bdc799476d9397dbflkjihgfedcba zyxwvutsrqpoedb0010ff2b042654629ec5597c2dd82lkjihgfedcba zyxwvutsrqpo155c856ba8d3f50cde1e6e564d8a4f53lkjihgfedcba zyxwvutsrqpo7d88e77d1b43fda793959e80d371ef1dlkjihgfedcba zyxwvutsrqpod820730d944241f37f10203c73ba330flkjihgfedcba zyxwvutsrqpob76311a9cde3b5103dde6b86d715ce34lkjihgfedcba zyxwvutsrqpoc133920feb71a6a9b0805c912d5d8779lkjihgfedcba zyxwvutsrqpo329a89daeb3d6b241fa0ff3c982cf9eflkjihgfedcba zyxwvutsrqpo12d913b49eb42aa93cb8274959a03d86lkjihgfedcba zyxwvutsrqpo3916c510400779ef890577f614518fe3lkjihgfedcba zyxwvutsrqpo9dbec49afcc59ff83831c909de58bd39lkjihgfedcba zyxwvutsrqpod6991db632c809ded9be30cff9421e7clkjihgfedcba zyxwvutsrqpo07013d54c715338a5e94c6139a4a83a2lkjihgfedcba zyxwvutsrqpo637f094e25237684092c3437b6697467lkjihgfedcba zyxwvutsrqpoa2bb978e9346ea757f8be94ce5893168lkjihgfedcba zyxwvutsrqpo4925574dd38b3007e9465afcfba92245lkjihgfedcba zyxwvutsrqpo01dafd452b20970e65e71d235722cc29lkjihgfedcba zyxwvutsrqpob125ead9c764361e5930b75ad38ecd89lkjihgfedcba zyxwvutsrqpofe26bc68793692b98f86f9da03ce9b4flkjihgfedcba zyxwvutsrqpobf78ebb5fbb34d9cb0ee5f782ab4b218lkjihgfedcba zyxwvutsrqpo48599b697855efeba2d0209ff5d75662lkjihgfedcba zyxwvutsrqpoc9cdfef09e8a5d116ef9d3fbf425fe2elkjihgfedcba zyxwvutsrqpoac6af9fa317960e5feb3e19912c2d3delkjihgfedcba zyxwvutsrqpob5246f70f207e69ce26bdbcc1ba726calkjihgfedcba
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/nr8GL on line 6
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/nr8GL on line 6
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/nr8GL on line 6
Process exited with code 255.

preferences:
245.13 ms | 401 KiB | 399 Q