C# MD5加密与校验 引用

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.

        MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();



        // 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 compare 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.");

        }



    }

}

// This code example produces the following output:

//

// The MD5 hash of Hello World! is: ed076287532e86365e841e92bfc50d8c.

// Verifying the hash...

// The hashes are the same.

 

你可能感兴趣的:(MD5加密)