Calculate File Checksum Using C#
Calculate file checksum using c#
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
namespace CheckSumTest
{
class Program
{
static void Main(string[] args)
{
string filePath = @"G:\Mahedee_Share\Created\23062014-1\FileDeployManager\FileDeployManager\Form1.cs";
string checksumMd5 = GetFileChecksum(filePath, Algorithms.MD5);
string checksumSha1 = GetFileChecksum(filePath, Algorithms.SHA1);
string checksumSha256 = GetFileChecksum(filePath, Algorithms.SHA256);
string checksumSha384 = GetFileChecksum(filePath, Algorithms.SHA384);
string checksumSha512 = GetFileChecksum(filePath, Algorithms.SHA512);
string checksumRipemd160 = GetFileChecksum(filePath, Algorithms.RIPEMD160);
Console.ReadKey();
}
public static string GetFileChecksum(string filePath, HashAlgorithm algorithm)
{
using (var stream = new BufferedStream(File.OpenRead(filePath), 100000))
{
byte[] hash = algorithm.ComputeHash(stream);
return BitConverter.ToString(hash).Replace("-", String.Empty);
}
}
}
public static class Algorithms
{
public static readonly HashAlgorithm MD5 = new MD5CryptoServiceProvider();
public static readonly HashAlgorithm SHA1 = new SHA1Managed();
public static readonly HashAlgorithm SHA256 = new SHA256Managed();
public static readonly HashAlgorithm SHA384 = new SHA384Managed();
public static readonly HashAlgorithm SHA512 = new SHA512Managed();
public static readonly HashAlgorithm RIPEMD160 = new RIPEMD160Managed();
}
}