Click here to Skip to main content
Click here to Skip to main content


, 5 Jan 2005
Rate this:
Please Sign up or sign in to vote.
How to compute the same hash as MD5SUM does (HEX).

Reason For This Howto

As you may know the MD5CryptoService, which the .NET Framework uses, doesn't create an md5 sum's string. So you only have the pure byte[] which isn't that useful if you want to use it in a database or on your Web Server to compare the sum with your file's sum! So, if many people have no idea how to get their sum into the right way, here's my howto to create the same sums like "md5sum" does:


This is the second version with the Hex-bug fixed.

using System.Security.Cryptography;
string MD5SUM(byte[] FileOrText) //Output: String<-> Input: Byte[] //
return BitConverter.ToString(new 

// Quite simple isn't it? I hope you enjoyed this tiny article and 
//I hope I could help ya! //

You can use this example of course for SHA1 as well, just change the MD5CryptoServiceProvider to SHA1CryptoServiceProvider.


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Max Gattringer

Austria Austria
I am Max Gattringer an Austrian student - I've got a passion for programming C#, cryptograpy and nearly everything concerning PCs Big Grin | :-D

Comments and Discussions

GeneralThis is great! Pinmembermondokat3-Apr-07 11:27 
GeneralMD5 PinmemberARROLLO2-Jan-06 15:12 
GeneralPerformance Pinmemberaxelriet2-Feb-05 17:03 
GeneralYeah, you're right ;-) PinsussAnonymous7-Jan-05 13:36 
GeneralAnother suggestion PinmemberMrEyes6-Jan-05 0:09 
GeneralJust two suggestions PinmemberDennis C. Dietrich5-Jan-05 11:58 
GeneralRe: Just two suggestions PinmemberRobert Rohde5-Jan-05 21:09 
GeneralRe: Just two suggestions PinmemberDennis C. Dietrich6-Jan-05 2:08 
GeneralRe: Just two suggestions PinmemberJeffrey Sax6-Jan-05 14:52 
Robert Rohde wrote:
First rule for optimizing: Only optimize what is relevant for optimization (90-10 rule).
I'm with Dennis on this one. This isn't a question of optimization, since it would take roughly the same time and effort to write the "optimized" version during the initial coding. The pattern is well-established and it shouldn't require any more mental resources to apply it.
One could even make an argument that it would take some thinking on the part of someone reading the code to figure out why you chose not to follow the generally accepted best practice.

Everything should be as simple as possible, but not simpler.
    -- Albert Einstein

Numerical components for C# and VB.NET
GeneralRe: Just two suggestions PinmemberMax Gattringer7-Jan-05 13:52 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

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

| Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.141220.1 | Last Updated 5 Jan 2005
Article Copyright 2005 by Max Gattringer
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid