Jak mogę zapewnić poprawność pliku .tar.gz, który niedawno pobrałem z serwera?


1

Jak mogę zapewnić poprawność .tar.gzpliku, który niedawno pobrałem z serwera?

Odpowiedzi:


4

po pierwsze i formost możesz użyć narzędzi do obliczenia „liczby” tego pliku, która jest specyficzna dla tego pliku i tylko dla tego pliku. liczba ta nosi nazwę „skrótu cyfrowego” lub „podsumowania”:

http://en.wikipedia.org/wiki/Cryptographic_hash_function

więc użyj czegoś takiego jak „sha256” (lepiej) lub „md5” (nadal przydatny, choć atakowany) tp obliczyć skrót. obliczyć to na serwerze i na komputerze. porównaj dwa. jeśli są identyczne, gratulacje.

znajdziesz wiele programów haszujących za darmo, np.

uwagi:

  • jeśli nie możesz obliczyć skrótu pliku na serwerze, nie możesz być pewien, że wszystkie bity zostały idealnie pobrane

  • Czasami nie trzeba obliczać podsumowania na serwerze, ponieważ niektórzy ludzie dostarczają te informacje i mówią o podsumowaniu. ale bądź ostrożny, musisz również „pobrać” te informacje. więc jeśli ktoś wyśle ​​ci niewłaściwy numer ORAZ nakłania cię do pobrania niewłaściwego (zmanipulowanego) pliku, podsumowanie jest bezwartościowe.

  • jeśli chcesz, aby Twoi klienci / klienci mogli w łatwy sposób pobrać coś, a Ty na wdrażającym końcu łańcucha chcesz wiedzieć, czy klient (który nie zawsze jest specjalistą) pobrał plik poprawnie: użyj czegoś innego niż .tar.gz . tarballi (.tar.gz) to strumienie danych, które nie pozwalają naprawdę wykryć, czy nadchodzi więcej danych. w przypadku kontenerów takich jak .zip lub .7z jest inaczej, ponieważ zawierają spis treści (spis treści) na końcu pliku. jeśli klient pobierze plik .zip i na końcu pominie niektóre bajty (przekroczenie limitu czasu spowodowane powolnymi połączeniami), wówczas klient nie będzie mógł otworzyć pliku i ma natychmiastową informację zwrotną. czasami takie kontenery oferują sumę kontrolną zawartości, aby użytkownik mógł sprawdzić, czy kontener „wygląda” dobrze.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.