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中为文件的路径

  • 相关阅读:
    如何快速发现网站恶意镜像与网页劫持?
    最牛「CSRF防护」,带你进入大虾们的圈子!
    安全无小事:如何给企业用户数据上把锁?
    PHP 7 探针的安装与测试
    如何使用 Docker、ECS、Terraform 重建基础架构?
    应用安全技术趋势之 Top 5
    第77节:Java中的事务和数据库连接池和DBUtiles
    第76节:Java中的基础知识
    第76节:Java中的基础知识
    第75节:Java的中的JSP,EL和JSTL
  • 原文地址:https://www.cnblogs.com/wangbin5542/p/1747468.html
Copyright © 2011-2022 走看看