3boot2woon1
4dude3work2nice1
dngrriostwedsltssaaetpcrasetrysveumyj
scsbaapcybma
09154cebd9ba3423be553e23dfd16780 <?php
/* Salt funtie 

MD5 en SHA1 zijn niet meer zo veilig  de laaste tijd.
Wachtwoord '123' en de salt: 'woonboot' wordt: 3boot2woon1
Na het salten kan je er een md5 of sha1 overheen gooien om zo je ww zo bv in cookies e.d. te gaan 
gebruiken.

*/

function salt($pass$salt="abc"$str="")
{
    
$pass str_replace(" """$pass);
    
$pass strrev($pass);

    
$arr[0] = strlen($pass);
    
$arr[1] = strlen($salt);
    
    while(
$arr[0] > $arr[1] + 1)
    {
        
$salt $salt.$salt;
        
$arr[1] = strlen($salt);
    }

    
$split_len floor(max($arr) / (min($arr) - 1));    
    
$salt explode(" "chunk_split($salt$split_len" "));
    
array_pop($salt);
    
$salt array_reverse($salt);    
    
$j $arr[0] > count($salt) ? $arr[0] : count($salt);
    
    for(
$i=0$i<$j$i++)
    {
        if(isset(
$pass{$i}))    $str .= $pass{$i};
        if(isset(
$salt[$i]))    $str .= $salt[$i];
    }
    
    return 
$str;
}


//~~~~~~~~~~~~~~~~
// Voorbeelden van wat ie terug geeft (zit wel coole structuur in)
//~~~~~~~~~~~~~~~~

echo salt('123''woonboot'); // Output: '3boot2woon1'
echo "</br>";
echo 
salt('1234''niceworkdude'); // Output: '4dude3work2nice1'
echo "</br>";  
echo 
salt('justapassword''myverysecretsaltedstring'); // Output: 'dngrriostwedsltssaaetpcrasetrysveumyj'
echo "</br>";
echo 
salt('mypass'); // Output 'sx0k3s4bd9al6ywpy23kyag7dm'
echo "</br>";
echo 
md5(salt('mypass')); // Output: '75fd4fa7c1cfd6e2fb5290ea631d981f'

show_source(__FILE__);
?>