Dato il chiarimento nel commento (dovrebbe essere in discussione, la parte più importante delle informazioni!), la risposta è sì.
La modifica accidentale è qualcosa che in teoria dovrebbe essere alquanto improbabile in quanto esistono CRC a livello di collegamento e checksum nello stack TCP / IP. La possibilità teorica di un pacchetto accidentalmente modificato che passa inosservato lo strato di collegamento è di uno su quattro miliardi, che suona quasi come "non accadrà mai", ma in realtà accade non così raramente. Considera che ci sono parecchi pacchetti che vanno oltre il filo, non solo uno o due. Quindi lo stack TCP / IP dovrebbe quasi certamente catturare quelli che lo superano. Giusto?
Beh sì, in teoria. In pratica, la ricerca mostra che circa uno su 16 milioni di pacchetti lo supera, anche se non dovrebbe (Stone, J., Partridge, C. SIGCOMM 2000).
Anche se non puoi mai ridurre a zero la probabilità di fallimento, lanciando un checksum SHA-1 il tuo suggerimento ridurrà il rischio fino a contare come "non importa". Tecnicamente è una bugia dire così, ma puoi considerare questo "garantito" con tutti i mezzi pratici.
Sebbene la modificazione dannosa possa essere una preoccupazione valida (sebbene non sia per te come affermato), l'aspettativa di incontrare accidentalmente una collisione su SHA-1 è del tutto ridicola. Questo non accadrà durante la vita dei tuoi figli o dei tuoi nipoti.
Tuttavia, tieni presente che la creazione di un socket che utilizza TLS è di circa 5-6 linee di codice in Java (incluse le istruzioni import
), che non è molto più laborioso della creazione di un semplice socket di vaniglia, e anche rendere più difficili le modifiche malevoli di diversi ordini di grandezza. L'overhead di TLS non è così male , quindi di solito è una cosa accettabile da fare.