C#を使用してファイルのMD5ハッシュを生成する方法


  1. System.Security.Cryptographyを使用する方法:

    using System;
    using System.IO;
    using System.Security.Cryptography;
    class Program
    {
       static void Main(string[] args)
       {
           string filePath = "ファイルのパス";
           string md5Hash = GetMD5Hash(filePath);
           Console.WriteLine("MD5ハッシュ: " + md5Hash);
       }
       static string GetMD5Hash(string filePath)
       {
           using (var md5 = MD5.Create())
           {
               using (var stream = File.OpenRead(filePath))
               {
                   byte[] hashBytes = md5.ComputeHash(stream);
                   return BitConverter.ToString(hashBytes).Replace("-", "").ToLower();
               }
           }
       }
    }

    この方法では、System.Security.Cryptography名前空間のMD5クラスを使用してファイルのMD5ハッシュを計算します。GetMD5Hashメソッドは、指定されたファイルパスからファイルを開き、ハッシュを計算して返します。

  2. FileStreamとCryptoStreamを使用する方法:

    using System;
    using System.IO;
    using System.Security.Cryptography;
    class Program
    {
       static void Main(string[] args)
       {
           string filePath = "ファイルのパス";
           string md5Hash = GetMD5Hash(filePath);
           Console.WriteLine("MD5ハッシュ: " + md5Hash);
       }
       static string GetMD5Hash(string filePath)
       {
           using (var md5 = MD5.Create())
           {
               using (var stream = File.OpenRead(filePath))
               {
                   byte[] hashBytes = md5.ComputeHash(stream);
                   return BitConverter.ToString(hashBytes).Replace("-", "").ToLower();
               }
           }
       }
    }

    この方法では、System.Security.Cryptography名前空間のMD5クラスを使用してファイルのMD5ハッシュを計算します。しかし、CryptoStreamを使用してファイルのストリームを処理します。GetMD5Hashメソッドは、指定されたファイルパスからファイルを開き、ハッシュを計算して返します。

これらのコード例を使用すると、C#でファイルのMD5ハッシュを生成することができます。これは、ファイルのデータの一意の識別子を取得するために使用されることがあります。