grazie per la risposta, nel frattempo ho scritto questo semplice algoritmo
per farlo funzionare assicuratevi di riempire tutti i campi (sia sopra che sotto)

sul web non ho trovato niente riguardo alla somma di hash o di numeri esadecimali allora ho avuto la "brillantissima idea" di sommare carattere per carattere per ottenere il nuovo hash.

il nuovo hash però non è in forma esadecimale, anzi esteticamente è molto brutto allora basta passarlo di nuovo all'algoritmo md5 così lo trucchiamo da hash.

che ne dite?

Codice PHP:
<form method="post">
username: <input name="username"> 

password: <input name="password">

data: <input name="data">



<?
$username
=$_POST["username"];
$password=$_POST["password"];
$data=$_POST["data"];
$sum="";

$md5username=md5($username);
$md5password=md5($password);
$md5data=md5($data);

for(
$i=0;$i<32;$i++)
$sum.=chr(ord($md5username[$i])+ord($md5password[$i])+ord($md5data[$i]));

$hash=md5($sum);

echo 
"hash di ".$username.": ".$md5username."
"
;
echo 
"hash di ".$password.": ".$md5password."
"
;
echo 
"hash di ".$data.": ".$md5data."
"
;
echo   
"somma degli hash: ".$sum."
"
;
echo 
"hash della somma: ".$hash."
"
;

?>




PROVA DI LOGIN 

username: <input name="l1"> 

password: <input name="l2">

data: <input name="l3">

<input type="submit">

</form>

<?

$l1
=$_POST["l1"];
$l2=$_POST["l2"];
$l3=$_POST["l3"];
$l4="";

$md5l1=md5($l1);
$md5l2=md5($l2);
$md5l3=md5($l3);

for(
$i=0;$i<32;$i++)
$l4.=chr(ord($md5l1[$i])+ord($md5l2[$i])+ord($md5l3[$i]));

$hashl4=md5($l4);

if (
$hashl4==$hash) echo "login effettuato";
else echo 
"login errato";
?>