2012-02-12 25 views
0

例如..說我有一個使用Web服務的應用程序。我希望應用程序使用Web服務,該服務基本上只計算MD5或SHA-不管使用哪種應用程序。通過Web服務遠程計算文件的SHA或MD5?

達到此目的的最佳方法是什麼?消費應用程序〜10kb。

+1

md5/sha是根據大塊字節計算的,而不是「服務」。 – 2012-02-12 04:58:42

+0

我想讓計算駐留在服務中,但計算一個遠程文件。 – Ian 2012-02-12 05:00:04

+0

您無法在遠程文件上計算,除非該遠程站點提供了可爲您計算的服務。您必須解除文件的遠程控制,例如獲取一份副本,無論您的服務在哪裏運行,並在那裏進行計算。 – 2012-02-12 05:01:08

回答

1

像這樣的事情會做到這一點:

var request = (HttpWebRequest) WebRequest.Create("http://www.remote.com/file"); 
var response = (HttpWebResponse) request.GetResponse(); 
var stream = response.GetResponseStream(); 
var hasher = new SHA1CryptoServiceProvider(); 
foreach (byte b in hasher.ComputeHash(stream)) 
    hash += b.ToString("x2").ToLower(); 

顯然包裹,最多使用的適當保持資源的控制。

+0

我會玩這個。謝謝! – Ian 2012-02-12 05:10:51