zoukankan      html  css  js  c++  java
  • C#文件MD5和SHA1值的类

    代码
    public class MD5
        {
            
    public MD5()
            {
                
            }

            
    private static byte[] ConvertStringToByteArray(string data)
            {
                
    return(new System.Text.UnicodeEncoding()).GetBytes(data);
            }

            
    private static System.IO.FileStream GetFileStream(string pathName)
            {
                
    return(new System.IO.FileStream(pathName, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite));
            }

            
    public static string GetSHA1Hash(string pathName)
            {
                
    string strResult = "";
                
    string strHashData = "";

                
    byte[] arrbytHashValue;
                System.IO.FileStream oFileStream 
    = null;

                System.Security.Cryptography.SHA1CryptoServiceProvider oSHA1Hasher 
    = new System.Security.Cryptography.SHA1CryptoServiceProvider();

                
    try
                {
                    oFileStream 
    = GetFileStream(pathName);
                    arrbytHashValue 
    = oSHA1Hasher.ComputeHash(oFileStream);
                    oFileStream.Close();

                    strHashData 
    = System.BitConverter.ToString(arrbytHashValue);
                    strHashData 
    = strHashData.Replace("-""");
                    strResult 
    = strHashData;
                }
                
    catch(System.Exception ex)
                {
                    System.Windows.Forms.MessageBox.Show(ex.Message, 
    "Error!", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error, System.Windows.Forms.MessageBoxDefaultButton.Button1);
                }

                
    return(strResult);
            }

            
    public static string GetMD5Hash(string pathName)
            {
                
    string strResult = "";
                
    string strHashData = "";

                
    byte[] arrbytHashValue;
                System.IO.FileStream oFileStream 
    = null;

                System.Security.Cryptography.MD5CryptoServiceProvider oMD5Hasher 
    = new System.Security.Cryptography.MD5CryptoServiceProvider();

                
    try
                {
                    oFileStream 
    = GetFileStream(pathName);
                    arrbytHashValue 
    = oMD5Hasher.ComputeHash(oFileStream);
                    oFileStream.Close();

                    strHashData 
    = System.BitConverter.ToString(arrbytHashValue);
                    strHashData 
    = strHashData.Replace("-""");
                    strResult 
    = strHashData;
                }
                
    catch(System.Exception ex)
                {
                    System.Windows.Forms.MessageBox.Show(ex.Message, 
    "Error!", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error, System.Windows.Forms.MessageBoxDefaultButton.Button1);
                }

                
    return(strResult);
            }

        }

    使用方法:

    MD5.GetMD5Hash(textBox1.Text);

    textBox1中为文件的路径

  • 相关阅读:
    (转)C# BackgroundWorker组件的原理分析
    (转)App.Config详解及读写操作
    (转)C# 控制蜂鸣器发声
    存储过程小例子
    DB通用类:MySQL通用类
    poj 1936 All in All
    Bone Collector 01背包问题
    sdut1359 求最大和子矩阵
    求最大值
    后缀式求值
  • 原文地址:https://www.cnblogs.com/wangbin5542/p/1747468.html
Copyright © 2011-2022 走看看