MD5

雜湊函式將任意長度的二進位制字串對映到固定長度的小二進位制字串。

所述 MD5 演算法是產生 128 位雜湊值(16 個位元組,32 個 Hexdecimal 字元)一種廣泛使用的雜湊函式。

System.Security.Cryptography.MD5 類的 ComputeHash 方法將雜湊作為 16 位元組的陣列返回。

例:

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

internal class Program
{
    private static void Main()
    {
        var source = "Hello World!";

        // Creates an instance of the default implementation of the MD5 hash algorithm.
        using (var md5Hash = MD5.Create())
        {
            // Byte array representation of source string
            var sourceBytes = Encoding.UTF8.GetBytes(source);

            // Generate hash value(Byte Array) for input data
            var hashBytes = md5Hash.ComputeHash(sourceBytes);

            // Convert hash byte array to string
            var hash = BitConverter.ToString(hashBytes).Replace("-", string.Empty);

            // Output the MD5 hash
            Console.WriteLine("The MD5 hash of " + source + " is: " + hash);
        }
    }
}

輸出: Hello World 的 MD5 雜湊值! 是:ED076287532E86365E841E92BFC50D8C

安全問題:

與大多數雜湊函式一樣,MD5 既不是加密也不是編碼。它可以通過暴力攻擊來逆轉,並且遭受針對碰撞和前映像攻擊的廣泛漏洞。