First you have to decide which hash algorithm has to use. Because once you hashed the files then changing the algorithm will be a waste. There are lot of hash algorithms with .Net framework, Keyed and Non-Keyed. Each has different purpose. For example MD5 is good at small files. But for very large files you may find two unique files has same hash.
here is a link where they discuss about hash algorithm choices. Which may helpful for you to choose the algorithm. Then refere MSDN for how to implement that algorithm
http://stackoverflow.com/questions/800685/which-hash-function-should-i-choose[
^]
http://en.wikipedia.org/wiki/Comparison_of_cryptographic_hash_functions[
^]
Hash Functions: An Empirical Comparison[
^]
The largest hash key is produced by the
MACTripleDES
(uses a key length of 24 bytes and produce a hash of 8 bytes) in .net framework. But you need to decide such long key is required for your case or not.