Example #1
0
 /// <summary>
 /// 获取文件的MD5值,可能抛出异常
 /// </summary>
 /// <param name="filepath">文件路径</param>
 /// <param name="charcase">字符大小写,默认小写</param>
 /// <returns>获取大的MD5值</returns>
 public static string GetFileMd5Value(string filepath, CharCaseEnum charcase = CharCaseEnum.LOWER)
 {
     byte[] content = FileToBytes(filepath);
     if (content == null)
     {
         return(null);
     }
     return(EncryptUtils.GetBytesMd5Value(content, charcase));
 }
Example #2
0
        /// <summary>
        /// 获取二进制数组的MD5值
        /// </summary>
        /// <param name="content">要获取MD5值二进制数组</param>
        /// <param name="charcase">字符大小写,默认为小写</param>
        /// <returns>得到的MD5值</returns>
        public static string GetBytesMd5Value(byte[] content, CharCaseEnum charcase = CharCaseEnum.LOWER)
        {
            if (content == null)
            {
                throw new NonStandardInputException("如果你想要获取二进制数组的MD5值,那么请确保该二进制数组不为NULL");
            }

            MD5 md5 = new MD5CryptoServiceProvider();

            byte[] md5data = md5.ComputeHash(content);
            md5.Clear();
            string str = "", formatstr = charcase == CharCaseEnum.LOWER?"x":"X";

            for (int i = 0; i < md5data.Length - 1; i++)
            {
                str += md5data[i].ToString(formatstr).PadLeft(2, '0');
            }
            return(str);
        }
Example #3
0
 /// <summary>
 /// 获取字符串的MD5值
 /// </summary>
 /// <param name="str">字符串</param>
 /// <param name="encode">编码格式</param>
 /// <param name="charcase">字符大小写</param>
 /// <returns>MD5值</returns>
 public static string GetMd5Value(this string str, Encoding encode, CharCaseEnum charcase = CharCaseEnum.LOWER)
 {
     byte[] content = encode.GetBytes(str);
     return(EncryptUtils.GetBytesMd5Value(content, charcase));
 }