Example #1
0
 public static byte[] GetStreamCRC32(Stream stream)
 {
     if ( stream == null )
         throw new ArgumentNullException("stream");
     if ( !stream.CanRead )
         throw new ArgumentException("stream is not readable.");
     stream.Position = 0;
     Crc32 crc32 = new Crc32();
     byte[] buf = new byte[4096];
     int len = 0;
     while ( (len = stream.Read(buf, 0, buf.Length)) != 0 )
     {
         crc32.Update(buf, 0, len);
     }
     stream.Position = 0;
     return crc32.Value;
 }
Example #2
0
        public static byte[] GetFileCRC32(string path)
        {
            if ( path == null )
                throw new ArgumentNullException("path");

            Crc32 crc32 = new Crc32();
            byte[] buf = new byte[4096];
            int len = 0;
            using ( FileStream fs = new FileStream(path, FileMode.Open) )
            {
                while ( (len = fs.Read(buf, 0, buf.Length)) != 0 )
                {
                    crc32.Update(buf, 0, len);
                }
            }
            return crc32.Value;
        }