using
System.Security.Cryptography;
//
// MD5加密函数
//
public string MD5(String str)
{
MD5 md5 = new MD5CryptoServiceProvider();
byte [] data = System.Text.Encoding.Default.GetBytes(str);
byte [] result = md5.ComputeHash(data);
String ret = "" ;
for ( int i = 0 ;i < result.Length;i ++ )
ret += result[i].ToString( " x " ).PadLeft( 2 , ' 0 ' );
return ret;
}
MS的HELP
using System;
using System.Security.Cryptography;
using System.Text;
class Example
{
// Hash an input string and return the hash as
// a 32 character hexadecimal string.
static string getMd5Hash( string input)
{
// Create a new instance of the MD5CryptoServiceProvider object.
MD5 md5Hasher = MD5.Create();
// Convert the input string to a byte array and compute the hash.
byte [] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
// Create a new Stringbuilder to collect the bytes
// and create a string.
StringBuilder sBuilder = new StringBuilder();
// Loop through each byte of the hashed data
// and format each one as a hexadecimal string.
for ( int i = 0 ; i < data.Length; i ++ )
{
sBuilder.Append(data[i].ToString( " x2 " ));
}
// Return the hexadecimal string.
return sBuilder.ToString();
}
// Verify a hash against a string.
static bool verifyMd5Hash( string input, string hash)
{
// Hash the input.
string hashOfInput = getMd5Hash(input);
// Create a StringComparer an comare the hashes.
StringComparer comparer = StringComparer.OrdinalIgnoreCase;
if ( 0 == comparer.Compare(hashOfInput, hash))
{
return true ;
}
else
{
return false ;
}
}
static void Main()
{
string source = " Hello World! " ;
string hash = getMd5Hash(source);
Console.WriteLine( " The MD5 hash of " + source + " is: " + hash + " . " );
Console.WriteLine( " Verifying the hash... " );
if (verifyMd5Hash(source, hash))
{
Console.WriteLine( " The hashes are the same. " );
}
else
{
Console.WriteLine( " The hashes are not same. " );
}
}
}
//
// MD5加密函数
//
public string MD5(String str)
{
MD5 md5 = new MD5CryptoServiceProvider();
byte [] data = System.Text.Encoding.Default.GetBytes(str);
byte [] result = md5.ComputeHash(data);
String ret = "" ;
for ( int i = 0 ;i < result.Length;i ++ )
ret += result[i].ToString( " x " ).PadLeft( 2 , ' 0 ' );
return ret;
}
MS的HELP
using System;
using System.Security.Cryptography;
using System.Text;
class Example
{
// Hash an input string and return the hash as
// a 32 character hexadecimal string.
static string getMd5Hash( string input)
{
// Create a new instance of the MD5CryptoServiceProvider object.
MD5 md5Hasher = MD5.Create();
// Convert the input string to a byte array and compute the hash.
byte [] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
// Create a new Stringbuilder to collect the bytes
// and create a string.
StringBuilder sBuilder = new StringBuilder();
// Loop through each byte of the hashed data
// and format each one as a hexadecimal string.
for ( int i = 0 ; i < data.Length; i ++ )
{
sBuilder.Append(data[i].ToString( " x2 " ));
}
// Return the hexadecimal string.
return sBuilder.ToString();
}
// Verify a hash against a string.
static bool verifyMd5Hash( string input, string hash)
{
// Hash the input.
string hashOfInput = getMd5Hash(input);
// Create a StringComparer an comare the hashes.
StringComparer comparer = StringComparer.OrdinalIgnoreCase;
if ( 0 == comparer.Compare(hashOfInput, hash))
{
return true ;
}
else
{
return false ;
}
}
static void Main()
{
string source = " Hello World! " ;
string hash = getMd5Hash(source);
Console.WriteLine( " The MD5 hash of " + source + " is: " + hash + " . " );
Console.WriteLine( " Verifying the hash... " );
if (verifyMd5Hash(source, hash))
{
Console.WriteLine( " The hashes are the same. " );
}
else
{
Console.WriteLine( " The hashes are not same. " );
}
}
}