$salt="123!#&%asgfHTA";
$pass="proba";
function my_crypt($pass,$salt)
{
$spec=array('~','!','@','#','$','%','^','&','*','?');
$crypted=md5(md5( $salt).md5($pass));
$c_text=md5($pass);
for ($i=0;$i<strlen($crypted);$i++)
{
if (ord($c_text[$i])>=48 and ord($c_text[$i])<=57){
@$temp.=$spec[$c_text[$i]];
} elseif(ord($c_text[$i])>=97 and ord($c_text[$i])<=100){
@$temp.=strtoupper($crypted[$i]);
} else {
@$temp.=$crypted[$i];
}
}
return md5($temp);
}