- substr: documentation ( source)
- strrev: documentation ( source)
- md5: documentation ( source)
<?php
class security
{
private 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
private 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";
}