using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace Launcher_Client { public class Hashing { public static String GetMD5Hash(String FilePath) { MD5 MD5Crypto = MD5.Create(); using (FileStream PStream = File.OpenRead(FilePath)) { return BitConverter.ToString(MD5Crypto.ComputeHash(PStream)).Replace("-", String.Empty); } } public static String GetSHA1Hash(String FilePath) { SHA1CryptoServiceProvider SHA1Crypto = new SHA1CryptoServiceProvider(); using (FileStream PStream = File.OpenRead(FilePath)) { return BitConverter.ToString(SHA1Crypto.ComputeHash(PStream)).Replace("-", String.Empty); } } public static String GetSHA256Hash(String FilePath) { SHA256Managed SHA256Crypto = new SHA256Managed(); using (FileStream PStream = File.OpenRead(FilePath)) { Byte[] SHA256Buffer = SHA256Crypto.ComputeHash(PStream); return BitConverter.ToString(SHA256Buffer).Replace("-", String.Empty); } } public static string CalculateMD5Hash(string input) { // step 1, calculate MD5 hash from input MD5 md5 = System.Security.Cryptography.MD5.Create(); byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input); byte[] hash = md5.ComputeHash(inputBytes); // step 2, convert byte array to hex string StringBuilder sb = new StringBuilder(); for (int i = 0; i < hash.Length; i++) { sb.Append(hash[i].ToString("X2")); } return sb.ToString(); } } }