Leo è una tecnica che uso molto spesso anche io quando non è richiesta un'altissima sicurezza ...
In particolare io uso la seguente tecnica :
1. il client chiede al server un codice che varrà solo quella volta (
è generato random)
2. il client conosce una sua parola chiave proprietaria che conosce anche il server
3. il client prepara il messaggio che deve mandare la server dopo di che ci aggiunge in punti che solo lui e il server conoscono (
es. in testa e in coda, in mezzo, ...) il codice e la parola chiave e del tutto calcola l'MD5
4. il client trasmette al server il messaggio e l'MD5
NON il codice (
tanto il server lo ha generato lui) e
NON la parola chiave che il server deve sapere.
5. Il serve riceve calcola allo stesso modo l'MD5 e li confronta ... e così autentica il messaggio
Questo ha due vantaggi ...
1. per chi
NON ha accesso al SW, il codice che cambia ogni volta sicuramente complica la vita
2. per chi
HA accesso al codice ... comunque non ha la parola chiave e quindi comunque non è in grado di calcolare l'MD5
Il punto 2 è importante se "distribuisci" il prodotto e quindi, chi lo compra, può vedere il codice (
la mia parte server è scritta in PHP ... vero che l'ho offuscata ... ma anche quello spesso lascia il tempo che trova) ma ogni cliente usa la SUA parola chiave che gli altri non conoscono

Oh, ripeto, è per dove non serve una grandissima sicurezza ... altrimenti si passa a generatori HW di numeri casuali e di OTP

Guglielmo