<?php

function salt($pass, $salt="ag7dy23kl6yw4bd9x0k3", $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 salt('1234', 'niceworkdude'); // Output: '4dude3work2nice1'
	
echo salt('justapassword', 'myverysecretsaltedstring'); // Output: 'dngrriostwedsltssaaetpcrasetrysveumyj'

echo salt('mypass'); // Output 'sx0k3s4bd9al6ywpy23kyag7dm'

echo md5(salt('mypass')); // Output: '75fd4fa7c1cfd6e2fb5290ea631d981f'

?>