Sprawdzanie sumy CRC online

0

Witam,
Czy jest możliwość napisania aplikacji, która sprawdzałaby CRC pliku, który jest umieszczony na koncie ftp?
Ze sprawdzeniem rozmiaru jakiegoś pliku nie ma problemu.

 
   HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("http://www.jakisplik.exe");
                myReq.Method = "HEAD";

                    HttpWebResponse myResp = (HttpWebResponse)(myReq.GetResponse()); 
                    long len = myResp.ContentLength; 

a czy da się sprawdzić CRC takiego pliku?

W sumie napisze co chcę osiągnąć.
Mam na dysku jakiś plik (załóżmy plik1.exe)
oraz na serwerze ftp inny plik (plik2.exe)

W jaki sposób sprawdzić, czy oba te pliki są takie same (porównywanie poprzez rozmiar odpada, bo zawartość może być inna mimo takiego samego rozmiaru)

0

Możesz pobrać ten plik i policzyć jego CRC, ale to mija się z celem.
Po prostu pobierz ten plik i porównaj jego zawartość.

0

Dość popularną praktyką jest umieszczenie na serwerze http / ftp drugiego pliku obok z tą samą nazwą, ale rozszerzeniem .md5 zawierającym wyliczoną sumę kontrolną tego pliku
Jeśli właściciel pliku o tym nie pomyślał no to niestety magii nie ma - nie da się wyliczyć sumy kontrolnej niepobranego pliku (chyba że masz dostęp do uruchamiania poleceń zdalnych na serwerze).

Niektóre serwery HTTP w zależności od konfiguracji wysyłają nagłówek ETag - jest to suma kontrolna pliku, niestety nie jesteś w stanie stwierdzić jakiego algorytmu użyto do jej wyliczenia bo nie jest to z góry narzucone
Prawie pewne jest jednak że jeśli tag ETag zgodzi się z tym co było wcześniej to plik się nie zmienił
Możesz nawet w zapytaniu to określić wysyłając do serwera nagłówek If-None-Match i wpisując tam znany ETag - serwer w takim przypadku zacznie wysyłać plik tylko w przypadku jeśli się on zmienił. Jeśli się nie zmienił to odpowie tylko statusem 304 Not Modified

1 użytkowników online, w tym zalogowanych: 0, gości: 1