Click here to Skip to main content
12,702,599 members (34,791 online)
Click here to Skip to main content
Add your own
alternative version


14 bookmarked


, 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

You may also be interested in...

Comments and Discussions

GeneralThis is great! Pin
mondokat3-Apr-07 11:27
membermondokat3-Apr-07 11:27 
GeneralMD5 Pin
ARROLLO2-Jan-06 15:12
memberARROLLO2-Jan-06 15:12 
GeneralPerformance Pin
axelriet2-Feb-05 17:03
memberaxelriet2-Feb-05 17:03 
GeneralYeah, you're right ;-) Pin
Anonymous7-Jan-05 13:36
sussAnonymous7-Jan-05 13:36 
GeneralAnother suggestion Pin
MrEyes6-Jan-05 0:09
memberMrEyes6-Jan-05 0:09 
GeneralJust two suggestions Pin
Dennis C. Dietrich5-Jan-05 11:58
memberDennis C. Dietrich5-Jan-05 11:58 
GeneralRe: Just two suggestions Pin
Robert Rohde5-Jan-05 21:09
memberRobert Rohde5-Jan-05 21:09 
GeneralRe: Just two suggestions Pin
Dennis C. Dietrich6-Jan-05 2:08
memberDennis C. Dietrich6-Jan-05 2:08 
Robert Rohde wrote:
In general I agree that StringBuilder is faster. But in this case the calculation of the MD5 value will by far run longer than the string concatenation, so the change will not be significant.
First rule for optimizing: Only optimize what is relevant for optimization (90-10 rule).

I know what you mean and personally I would even apply another rule before it comes to the 90-10 rule you quoted (that would be the 'optimization last' rule of XP). However, I don't think that should be used in this case because this is about .NET best practices rather than general purpose rules. Consider the case that you want to calculate the MD5 hash not for one file (or a few big files) but for a bunch of small files. Calculating the MD5 hash for a few ten thousand files would lead to a few hundred thousand unnecessary memcopy operations during the string creation. And I'd say that is significant (although you might argue that it wouldn't matter on today's CPUs).

Best regards from Schöneberg
GeneralRe: Just two suggestions Pin
Jeffrey Sax6-Jan-05 14:52
memberJeffrey Sax6-Jan-05 14:52 
GeneralRe: Just two suggestions Pin
Max Gattringer7-Jan-05 13:52
memberMax Gattringer7-Jan-05 13:52 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    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
Web02 | 2.8.170118.1 | Last Updated 5 Jan 2005
Article Copyright 2005 by Max Gattringer
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid