Using .net, I would like to be able to hash the first N bytes of potentially large files, but I can’t seem to find a way of doing it.
The ComputeHash function (I’m using SHA1) takes a byte array or a stream, but a stream seems like the best way of doing it, since I would prefer not to load a potentially large file into memory.
To be clear: I don’t want to load a potentially large piece of data into memory if I can help it. If the file is 2GB and I want to hash the first 1GB, that’s a lot of RAM!
You can hash large volumes of data using a CryptoStream – something like this should work: