2012-02-12 71 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

相关问题