mirror of
https://github.com/aaru-dps/Aaru.Checksums.Native.git
synced 2025-12-16 11:14:29 +00:00
d6d1c8dae59c43cedc537765cc1ee3f8dfe8bad2
For Fletcher-32, the conditional subtract approach works for lengths up to 514 bytes, but for Fletcher-16 it only works up to 2 bytes due to FLETCHER16_MODULE being much smaller than FLETCHER32_MODULE.
Aaru.Checksums.Native
This repository contains the Aaru.Checksums.Native library for Aaru.
The purpose of this library is to provide checksums and hashing algorithms for Aaru.
No archiver processing code should fall here, those go in Aaru.Checksums.
To build you just need Docker on Linux and run build.sh, that will generate a NuGet package for use with Aaru.Checksums.
Currently implemented algorithms are:
- Adler-32
- CRC-16 (CCITT and IBM polynomials)
- CRC-32 (ISO polynomial)
- CRC-64 (ECMA polynomial)
- Fletcher-16
- Fletcher-32
- SpamSum
Each of these algorithms have a corresponding license, that can be found in their corresponding file header.
The resulting output of build.sh falls under the LGPL 2.1 license as stated in the LICENSE file.
Any new algorithm added should be under a license compatible with the LGPL 2.1 license to be accepted.
© 2021-2023 Natalia Portillo
Languages
C
80.1%
C++
15.9%
Shell
2.4%
CMake
1.6%