C# – Compute MD5 Hash of a File
by admin on Feb.15, 2012, under Programming
The following example code shows how to calculate the MD5 Checksum of a file in C-Sharp:
[csharp]
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Security.Cryptography;
class Program
{
static void Main(string[] args)
{
if (args.Length <= 0) // No Arguments passed, exit
{
Console.WriteLine("Drag and Drop a file onto this exe to get it’s MD5 hash.");
Console.Read();
return;
}
if (File.Exists(args[0]) == false) // Invalid Argument passed, exit
{
Console.WriteLine("Drag and Drop a file onto this exe to get it’s MD5 hash.");
Console.Read();
return;
}
Console.WriteLine(GetMD5HashFromFile(args[0])); // Compute MD5 hash
Console.Read(); // Wait for user input
}
private static string GetMD5HashFromFile(string fileName)
{
FileStream file = new FileStream(fileName, FileMode.Open);
MD5 md5 = new MD5CryptoServiceProvider();
byte[] retVal = md5.ComputeHash(file);
file.Close();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < retVal.Length; i++)
{
sb.Append(retVal[i].ToString("x2"));
}
return sb.ToString();
}
}
[/csharp]
You may also want to use it as a stand alone function:
[csharp]
private static string GetMD5HashFromFile(string fileName)
{
FileStream file = new FileStream(fileName, FileMode.Open);
System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] retVal = md5.ComputeHash(file);
file.Close();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < retVal.Length; i++)
{
sb.Append(retVal[i].ToString("x2"));
}
return sb.ToString();
}
[/csharp]
April 20th, 2015 on 16:48
I have a java code that i need to convert to C#:
Can someone help me?
protected static String calculateToken(String key1, String key2) {
MessageDigest messageDigest = MessageDigest.getInstance(“MD5”);
messageDigest.update(key1.getBytes());
messageDigest.update(key2.getBytes());
String encodedValue=Base64.getEncoder().encodeToString(messageDigest.digest());
encodedValue = encodedValue.replaceAll(“[\\n]”, “”);
return encodedValue;
}
March 6th, 2017 on 09:26
md5online.co.uk