$parte) { $n = \'\'; if (ereg(\"[0-9]{4}\",$parte)) { $n = \'\'; for ($i = 1;$i<$parte{0};$i++) { $n .= substr($total,-1,1); } } else { $p = 0; for ($i = 0; $i < 4; $i++) { $y = 3 - $i; if ($parte{$i} == \'$\') { $p += pow(4,$y)*1; } elseif ($parte{$i} == \'*\') { $p += pow(4,$y)*0; } elseif ($parte{$i} == \'&\') { $p += pow(4,$y)*2; } elseif ($parte{$i} == \'#\') { $p += pow(4,$y)*3; } } $n = chr($p); } $total .= $n; } if (substr($total,-32,32) == md5($mensaje)) { return substr($total,0,-32); } else { return false; } } else { return false; } } function encripta($buffer){ $valores = array(\'0\',\'1\',\'2\',\'3\'); $convert = array(\'*\',\'$\',\'&\',\'#\'); $buffer .= md5($buffer); preg_match_all(\"/.{1}/\",$buffer,$caracters); $total = \'\'; foreach($caracters[0] AS $clau=>$caracter) { if ($caracter == $caracters[0][$clau-1]){ if (ereg(\"[0-9]+\",$total{strlen($total)-1})) { $num = substr($total,-1,1)+1; $total = substr($total,0,-1); $total .= $num; } else { $total .= \'2\'; } } else { $num = ord($caracter); $total .= str_replace($valores,$convert,str_pad(base_convert($num,10,4),4,0, STR_PAD_LEFT)); } } return $total; } ?>