}//ComputeMD5 /// <summary> /// 计算指定文件的CRC32值 /// </summary> /// <param name="fileName">指定文件的完全限定名称</param> /// <returns>返回值的字符串形式</returns> public static String GetCRC32(String fileName) { String hashCRC32 = String.Empty; //检查文件是否存在,如果文件存在则进行计算,否则返回空值 if (File.Exists(fileName)) { using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read)) { //计算文件的CSC32值 XCrc32 calculator = new XCrc32(); Byte[] buffer = calculator.ComputeHash(fs); calculator.Clear(); //将字节数组转换成十六进制的字符串形式 StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < buffer.Length; i++) { stringBuilder.Append(buffer[i].ToString("x2")); } hashCRC32 = stringBuilder.ToString(); }//关闭文件流 } return hashCRC32; }//ComputeCRC32
public static uint CrcHash(byte[] bytes) { return(XCrc32.Compute(bytes)); }