December 8, 2016

Password Encryption using MD5 Hash Algorithm in C#

Simple way to hash sensitive string.
Password Encryption using MD5 Hash Algorithm in C#

It’s really bad if someone knew your password. As a developer or web master or something else, we have an ethic that we also don’t want to see other’s password. So, what we need to do to store those passwords? One simple solution is using hash function. We change the readable password into unreadable text and no one, even yourself, can’t decrypt that text ever. One of the popular (or simple) method is MD5 Hash Algorithm.

How does MD5 Hash Algorithm Works? The point is this algorithm change your password into 32 hexadecimal digits. It doesn’t care how long is your password and it’ll become 32 hexadecimal digits.  For complete explanation please read this wikipedia article.

The next question is, how can we do that? That’s a simple question. Because I’m a .NET developer, I will show you how easy to implement MD5 hash algorithm using .NET Cryptography Framework.


Okay, here is the code that you can use to generate MD5 Hash:

using System.Text;
using System.Security.Cryptography;

namespace CryptoLib
{
public static class Encryptor
{
public static string MD5Hash(string text)
{
MD5 md5 = new MD5CryptoServiceProvider();

//compute hash from the bytes of text
md5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(text));

//get hash result after compute it
byte[] result = md5.Hash;

StringBuilder strBuilder = new StringBuilder();
for (int i = 0; i < result.Length; i++)
{
//change it into 2 hexadecimal digits
//for each byte
strBuilder.Append(result[i].ToString(“x2”));
}

return strBuilder.ToString();
}
}
}

I use that function and try it in my WPF Application and here is the result:

WPF MD5 Implementation
MD5 result on WPF application.

Okay, that’s all I got this time. Hope this simple tutorial helps you. See you on my next post.

References

MD5 Hash Generation

Powered by Hugo & Kiss.