置百丈玄冰而崩裂,掷须臾池水而漂摇。

C# 获取 文件的哈希值(MD5、SHA)

ASP.NET 强强

C#  获取 文件的哈希值(MD5、SHA),验证相同文件。


一获取文件的MD5:

MD5是一种常见的加密方式,相对比较稳定,同时也是校验文件的一种方式,HZ下面分享net中获取文件md5值的方法, 

private static string GetMD5HashFromFile(string fileName)
 {
     try
     {
     FileStream file = new FileStream(fileName, FileMode.Open);
     System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
     byte[] retVal = md5.ComputeHash(file);
     file.Close();
     
    StringBuilder sb = new StringBuilder();
     for (int i = 0; i < retVal.Length; i++)
     {
     sb.Append(retVal[i].ToString(“x2″));
     }
     return sb.ToString();
     }
     catch (Exception ex)
     {
     throw new Exception(“GetMD5HashFromFile() fail,error:” + ex.Message);
     }
 }

二:获取文件的SHA

public static string GetSHA1(string s)
        {
            try
            {
                FileStream file = new FileStream(s, FileMode.Open);
                SHA1 sha1 = new SHA1CryptoServiceProvider();
                byte[] retval = sha1.ComputeHash(file);
                file.Close();

                StringBuilder sc = new StringBuilder();
                for (int i = 0; i < retval.Length; i++)
                {
                    sc.Append(retval[i].ToString("x2"));
                }
                Console.WriteLine("文件SHA1:{0}", sc);
                return sc.ToString();
                
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return string.Empty;
            }
}





发表评论:

验证码