zoukankan      html  css  js  c++  java
  • 文件MD5计算


    /****************************************************************************************
    ** 作者: Eddie Xu 
    ** 时间: 2017/11/20 17:05:24
    ** 版本: V1.0.0
    ** CLR: 4.0.30319.42000
    ** GUID: 3d0af2b0-6ef4-4c56-8330-8a9506f5b5b5
    ** 机器名: DESKTOP-ECII567
    ** 描述: 文件处理类
    ****************************************************************************************/

    using Manjinba.Communication.Common.Logging;
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace Manjinba.Communication.Common.Utils
    {
    public static class FileMD5HashCodeUtil
    {
    /// <summary>
    /// 根据文件生成内容MD5
    /// </summary>
    /// <param name="fileName"></param>
    /// <returns></returns>
    public static string GetFileContentMD5HashCode(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();

    //把二进制转化为大写的十六进制
    var result = BitConverter.ToString(retVal).Replace("-", "");
    return result.ToUpper();
    }
    catch (Exception ex)
    {
    LogHelper.GetLog(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName).Error("GetFileContentMD5HashCode() fail,error:" + ex.Message);
    throw new Exception("GetFileContentMD5HashCode() fail,error:" + ex.Message + ex.StackTrace);
    }
    }

    /// <summary>
    /// 根据文件流生成MD5
    /// </summary>
    /// <param name="stream"></param>
    /// <returns></returns>
    public static string GetFileContentMD5HashCode(Stream stream)
    {
    try
    {
    stream.Position = 0;
    // 打开文件需要指定到文件
    System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
    byte[] retVal = md5.ComputeHash(stream);

    //把二进制转化为大写的十六进制
    var result = BitConverter.ToString(retVal).Replace("-", "");
    return result.ToUpper();
    }
    catch (Exception ex)
    {
    LogHelper.GetLog(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName).Error("GetFileContentMD5HashCode() fail,error:" + ex.Message);
    throw new Exception("GetFileContentMD5HashCode() fail,error:" + ex.Message + ex.StackTrace);
    }
    }
    }
    }

  • 相关阅读:
    IIS的各种身份验证详细测试
    HTTP Error 401.3 Unauthorized Error While creating IIS 7.0 web site on Windows 7
    C/S and B/S
    WCF ContractFilter mismatch at the EndpointDispatcher exception
    Configure WCF
    Inheritance VS Composition
    Unhandled Error in Silverlight Application, code 2103 when changing the namespace
    Java RMI VS TCP Socket
    Principles Of Object Oriented Design
    Socket处理发送和接收数据包,一个小实例:
  • 原文地址:https://www.cnblogs.com/Nine4Cool/p/10540659.html
Copyright © 2011-2022 走看看