uint32_t File::crc32() const { istream* stream = openInputStream(istream::binary); CRC32 crc; char buf[4096]; while (!stream->eof()) { stream->read(buf, sizeof(buf)); crc.append(buf, stream->gcount()); } delete stream; return crc.getChecksum(); }