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

  • 相关阅读:
    springboot运行在eclipse报异常的问题
    Python random模块
    MySQL大小写敏感
    正则表达式详解
    Linux grep命令详解
    Linux printf命令详解
    Linux awk命令详解
    MySQL表介绍
    Linux sed命令详解
    Linux grep命令详解
  • 原文地址:https://www.cnblogs.com/Nine4Cool/p/10540659.html
Copyright © 2011-2022 走看看