Exemple #1
0
 /// 计算指定文件的 CRC32。
 public static byte[] GetCrc32(string fileName)
 {
     if (!File.Exists(fileName))
     {
         return(Zero);
     }
     using (FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
     {
         Crc32  calculator = new Crc32();
         byte[] result     = calculator.ComputeHash(fileStream);
         calculator.Clear();
         return(result);
     }
 }
Exemple #2
0
 /// 计算二进制流的 CRC32。
 public static byte[] GetCrc32(byte[] bytes)
 {
     if (bytes == null)
     {
         return(Zero);
     }
     using (MemoryStream memoryStream = new MemoryStream(bytes))
     {
         Crc32  calculator = new Crc32();
         byte[] result     = calculator.ComputeHash(memoryStream);
         calculator.Clear();
         return(result);
     }
 }
Exemple #3
0
    /// <summary>
    /// 计算指定文件的CRC32值
    /// </summary>
    public static string CRC32(string fileName)
    {
        string hashCRC32 = string.Empty;

        if (File.Exists(fileName))
        {
            using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
            {
                Crc32  calculator = new Crc32();
                byte[] buffer     = calculator.ComputeHash(fs);
                calculator.Clear();
                System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder();
                for (int i = 0; i < buffer.Length; i++)
                {
                    stringBuilder.Append(buffer[i].ToString("x2"));
                }
                hashCRC32 = stringBuilder.ToString();
            }
        }
        return(hashCRC32);
    }
Exemple #4
0
	}//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值
				Crc32 calculator = new Crc32();
				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