Optimized and fast implementation of Crc32 algorithm in pure .NET.
(But if you need, I can add native implementation which is twice faster .NET version with transparent .net wrapper)
This library is port of Crc32C.NET by Robert Važan but for Crc32 algorithm.
If you do not not catch the difference, it is C (Castagnoli). I recommend to use Crc32C, not usual CRC32, because it is faster (up to 20GB/s) and slightly better in error detection. But if you need exactly Crc32, this library is the best choice.
Library | Speed |
---|---|
CH.Crc32 by Cliff Hammerschmidt | 117 MB/s |
Crc32 by Dario Griffo | 382 MB/s |
Klinkby.Checksum by Mads Breusch Klinkby | 379 MB/s |
Data.HashFunction.CRC by Brandon Dahler | 206 MB/s |
This library | 1078 MB/s |
I think about making a pull request to Crc32 library, but it seems, this library was abandoned. Anyway, I check, that results of my and Crc32 library are fully compatible. And you can switch from Crc32 library to this.
Api interface has been taken from Crc32C.NET library. It is very handy for using in applications.
MIT license