How to

calculate file checksum

Published: 4. November 2011 | Updated: 4. November 2011
License: Microsoft Public License (MS-PL)
Categories: File system » Files, Security
Tags: C# File System Security Windows
Was this snippet helpful for you? YESYES / NONO

Import namespaces

using System.IO;
using System.Security.Cryptography;

Code

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();
}

public static string GetChecksum(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);
    }
}

Use

string path = @"C:\Folder\test.jpg";

string checksumMd5 = GetChecksum(path, Algorithms.MD5);
string checksumSha1 = GetChecksum(path, Algorithms.SHA1);
string checksumSha256 = GetChecksum(path, Algorithms.SHA256);
string checksumSha384 = GetChecksum(path, Algorithms.SHA384);
string checksumSha512 = GetChecksum(path, Algorithms.SHA512);
string checksumRipemd160 = GetChecksum(path, Algorithms.RIPEMD160);
Send us feedback about this snippet »



Related Snippets: