Click here to Skip to main content
Full site     10M members (32.9K online)    

Generating an MD5 Hash from a String Using LINQ

While working on another blog post, I encountered the need to generate a MD5 hash by passing in a string value and didn’t see any very appealing solutions off-hand that didn’t involve iterating through a loop. I elected to visit everyone’s favorite friend, LINQ to handle this. 

The Problem

You need to generate an MD5 hash using a string, but you want a quick and easy way to do it.

The Solution

Firstly, you will need to ensure that you are referencing the appropriate namespace (System.Security.Cryptography) to work with MD5 hashes by adding the following using statement :

using System.Security.Cryptography;

Now, just use the following LINQ statement that will allow you to pass in your value and generate an MD5 hash of the string: 

//Your string value
string yourStringValue = "This is a test";
//Generate a hash for your strings (this appends each
//of the bytes of the value into a single hashed string
var hashValue = string.Join("", MD5.Create().ComputeHash(
   Encoding.ASCII.GetBytes(yourStringValue)).Select(s => s.ToString("x2")));
//For .NET 3.5 and below,  you will need to use the .ToArray() following the Select method: 
var hashValue = string.Join("", MD5.Create().ComputeHash(
  Encoding.ASCII.GetBytes(yourStringValue)).Select(s => s.ToString("x2")).ToArray()); 

Or if you would prefer it as a method :

public string GenerateMD5(string yourString)
{
   return string.Join("", MD5.Create().ComputeHash(
      Encoding.ASCII.GetBytes(yourString)).Select(s => s.ToString("x2")));
}

Example :

var example = "This is a Test String"; //"This is a Test String"
var hashed = GenerateMD5(example);     //"7ae92fb767e5024552c90292d3cb1071"
 
You must Sign In to use this message board.
Search 
Per page   
GeneralMy vote of 1 Pin
Mahdi 82161021
28 Apr '13 - 0:20 
GeneralRe: My vote of 1 Pin
Rion Williams
28 Apr '13 - 14:19 
GeneralRe: My vote of 1 Pin
Mahdi 82161021
6 May '13 - 18:19 
GeneralRe: My vote of 1 Pin
Rion Williams
7 May '13 - 2:32 
QuestionAn Alternative Pin
George Swan
24 Apr '13 - 23:01 

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.


Last Updated 7 May 2013 | Advertise | Privacy | Terms of Use | Copyright © CodeProject, 1999-2013