MD5

From Unify Community Wiki
Jump to: navigation, search

Author: Matthew Wegner

Overview

This C# code snippet generates an MD5 hash for an input string. The formatting will match the output of PHP's md5() function.

Code

Best placed in your static-only utility class.

<csharp> public string Md5Sum(string strToEncrypt) { System.Text.UTF8Encoding ue = new System.Text.UTF8Encoding(); byte[] bytes = ue.GetBytes(strToEncrypt);

// encrypt bytes System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider(); byte[] hashBytes = md5.ComputeHash(bytes);

// Convert the encrypted bytes back to a string (base 16) string hashString = "";

for (int i = 0; i < hashBytes.Length; i++) { hashString += System.Convert.ToString(hashBytes[i], 16).PadLeft(2, '0'); }

return hashString.PadLeft(32, '0'); } </csharp>

JavaScript

... and just in case anyone was wondering. This is also possible using JavaScript:

<javascript> import System; import System.Text; import System.Security.Cryptography;

static function Md5Sum(strToEncrypt) { var encoding = UTF8Encoding(); var bytes = encoding.GetBytes(strToEncrypt);

// encrypt bytes var md5 = MD5CryptoServiceProvider(); var hashBytes = md5.ComputeHash(bytes);

// Convert the encrypted bytes back to a string (base 16) var hashString = "";

for (int i = 0; i < hashBytes.Length; i++) { hashString += Convert.ToString(hashBytes[i], 16).PadLeft(2, '0'); }

return hashString.PadLeft(32, '0'); }</javascript>

You can use SHA1CryptoServiceProvider instead of MD5CryptoServiceProvider if you want to create SHA1 hashes instead of MD5 hashes.

Personal tools
Namespaces

Variants
Actions
Navigation
Extras
Toolbox