Groups | Blog | Home
all groups > dotnet general > may 2006 >

dotnet general : Need C# coding for MD5 Algorithm


Charles
5/28/2006 11:30:18 PM
Hi all,

I need C# code for Implementing MD5 Algorithm.. Hope all would have
heard of MD5 Algorith... Does any one have the C# coding for that
Algorithm.. please Send... ITs URgent.....

Thanks In Advance to all.......................

With Regards,

Sanjay.C
johnknox NO[at]SPAM online.microsoft.com
5/31/2006 3:31:02 PM
Sanjay.C,

I researched and found information on the abstract class from which all
implementations of the MD5 hash algorithm inherit using C#

I obtained this code from one our new sites:
****************************************************************************
*******************************************
using System;
using System.Security.Cryptography;
using System.Text;

class Example
{
// Hash an input string and return the hash as
// a 32 character hexadecimal string.
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[i].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;
}
}


static void Main()
{
string source = "Hello World!";

string hash = getMd5Hash(source);

Console.WriteLine("The MD5 hash of " + source + " is: " + hash +
".");

Console.WriteLine("Verifying the hash...");

if (verifyMd5Hash(source, hash))
{
Console.WriteLine("The hashes are the same.");
}
else
{
Console.WriteLine("The hashes are not same.");
}

}
}
// This code example produces the following output:
//
// The MD5 hash of Hello World! is: ed076287532e86365e841e92bfc50d8c.
// Verifying the hash...
// The hashes are the same.


Detailed information may be obtained from:

http://msdn2.microsoft.com/en-us/library/system.security.cryptography.md5.as
px

This is very new
--------------------
[quoted text, click to view]
TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP01.phx.gbl!TK2MSFTFEEDS01.phx.gbl!newsfeed.c
w.net!cw.net!news-FFM2.ecrc.de!news.glorb.com!postnews.google.com!i40g2000cw
c.googlegroups.com!not-for-mail
[quoted text, click to view]

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fprq2\fcharset0
MS Sans Serif;}{\f1\fswiss\fcharset0 Arial;}}
{\*\generator Msftedit 5.41.21.2500;}\viewkind4\uc1\pard\f0\fs20 Cheers,\par
\par
johnKn [MS-SDK]\par
\par
\par
\par
-Please do not send email directly to this alias. This alias is for \par
newsgroup purposes only\par
\par
-This posting is provided "AS IS" with no warranties, and confers no
rights.\par
\par
-To provide additional feedback about your community experience please send
\par
e-mail to: sdkcomm@microsoft.com\par
\f1\par
}
AddThis Social Bookmark Button