For people like me who are in need of this in crisis
following is a code example
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Security.Cryptography;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
static string getMd5Hash(string input)
{
// Create a new instance of the MD5CryptoServiceProvider object.
MD5 md5Hasher = MD5.Create();
// Convert the input string to a byte array and compute the hash.
byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
// Create a new Stringbuilder to collect the bytes
// and create a string.
StringBuilder sBuilder = new StringBuilder();
// Loop through each byte of the hashed data
// and format each one as a hexadecimal string.
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data.ToString("x2"));
}
// Return the hexadecimal string.
return sBuilder.ToString();
}
// Verify a hash against a string.
static bool verifyMd5Hash(string input, string hash)
{
// Hash the input.
string hashOfInput = getMd5Hash(input);
// Create a StringComparer an comare the hashes.
StringComparer comparer = StringComparer.OrdinalIgnoreCase;
if (0 == comparer.Compare(hashOfInput, hash))
{
return true;
}
else
{
return false;
}
}
private void button1_Click(object sender, EventArgs e)
{
string source = textBox2.Text ;
string hash = getMd5Hash(source);
StringBuilder str = new StringBuilder();
str.Append("The MD5 hash of " + source + " is: " + hash + ".").AppendLine();
textBox1.Text =str.ToString ();
str.Append("Verifying the hash...").AppendLine();
if (verifyMd5Hash(source, hash))
{
str.Append("The hashes are the same.").AppendLine();
}
else
{
str.Append("The hashes are not same.").AppendLine();
}
textBox1.Text = str.ToString();
}
}
}