关于MD5值加密算法

来源:互联网 发布:淘宝售后客服工作规范 编辑:程序博客网 时间:2024/05/21 08:00
 public static string getMD5(string str)//该方法获取字符串的md5加密 通常用来验证数据
    {
        System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
        byte[] pwd = md5.ComputeHash(Encoding.ASCII.GetBytes(str));
        string ret = "";
        for (int i = 0; i < pwd.Length; i++)
        {
            ret += pwd[i].ToString("X");
        }
        return ret;
    }
    private static string GetMD5HashFromFile(string fileName)//该方法用来进行获取文件的md5加密 用来比对 客户端文件是否被篡改
    {
        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"));//每两位转换为16进制、
                sb.Append(retVal[i].ToString("X2"));//这儿必须是x2  才行 不然转换的时候 0X容易转为X  0 会被去掉、
            }
            return sb.ToString();
        }
        catch (Exception ex)
        {
            throw new Exception("GetMD5HashFromFile() fail,error:" + ex.Message);
        }
    }  
0 0