I have a project where I get the url to a file (e.g. www.documents.com/docName.txt) and I want to create a hash for that file. How can I do this.
FileStream filestream;
SHA256 mySHA256 = SHA256Managed.Create();
filestream = new FileStream(docUrl, FileMode.Open);
filestream.Position = 0;
byte[] hashValue = mySHA256.ComputeHash(filestream);
Label2.Text = BitConverter.ToString(hashValue).Replace("-", String.Empty);
filestream.Close();
This is the code i have to create a hash. But seeing how it uses filestream it uses files stored on the hard drive (e.g. c:/documents/docName.txt) But i need it to work with an url to a file and not the path to a file on the drive.
To download the file use:
string url = "http://www.documents.com/docName.txt";
string localPath = @"C://Local//docName.txt"
using (WebClient client = new WebClient())
{
client.DownloadFile(url, localPath);
}
then read the file like you have:
FileStream filestream;
SHA256 mySHA256 = SHA256Managed.Create();
filestream = new FileStream(localPath, FileMode.Open);
filestream.Position = 0;
byte[] hashValue = mySHA256.ComputeHash(filestream);
Label2.Text = BitConverter.ToString(hashValue).Replace("-", String.Empty);
filestream.Close();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With