2012-05-24 15 views
6

Recentemente ho sviluppato un gioco multiplayer online e funziona perfettamente. C'è un server centrale che gestisce le connessioni TCP con i client e che entrambi ricevono e inviano dati.
Esiste un modo per verificare che i dati inviati non siano stati modificati prima che il destinatario li abbia letti?
Una connessione TCP la gestisce in qualche modo? Se no qual è il modo migliore (non chiedendo il codice) per implementarlo?
Ormai mi si avvicinò con quelle idee:Come verificare l'integrità dei dati tra la connessione client-server?

  • modificare i dati inviati l'aggiunta di una sorta di verifica del valore, come ad esempio la lunghezza del pacchetto.
  • Quando si riceve un pacchetto, chiedere al server di inviarlo di nuovo e verificare se sono uguali.

Ho cercato una soluzione usata comune ma non ho trovato molto.
La crittografia dovrebbe essere la mia ultima opzione.

Modifica
Per un modo semplice per raggiungere questo obiettivo:

  1. MD5
  2. SH A1
  3. SSL
+5

Modificato da un hacker o da rumore/errore? TCP/IP si occupa di quest'ultimo, non del primo. –

+0

Ti dispiacerebbe spiegare brevemente come è successo? – mastaH

+2

Hash i dati e aggiungi il valore hash ai dati che invii. La persona all'altra estremità dovrebbe verificare se l'hash corrisponde o meno a quello dei dati che riceve. Questo dovrebbe fare attenzione agli errori di rumore. – eboix

risposta

5

Concordato con Bart, si consiglia di utilizzare un metodo Hash per la verifica dei dati.

Problemi correlati