A Go library for computing message digests (MD5, SHA256, SHA1, CRC32, BLAKE2s-256) for large files efficiently.
Checksum is a Go library that computes cryptographic hash values (message digests) for files, supporting algorithms like MD5, SHA256, SHA1, CRC32, and BLAKE2s-256. It solves the problem of verifying file integrity and detecting changes in large files efficiently within Go applications.
Go developers who need to compute checksums for file verification, data integrity checks, or security-related tasks, especially when dealing with large files.
Developers choose Checksum for its simple, focused API that handles multiple hash algorithms with large file support, avoiding the complexity of lower-level Go crypto packages while maintaining performance.
Compute message digest for large files in Go
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides dedicated functions like MD5sum() and SHA256sum() that return hash strings, making it easy to compute checksums without diving into Go's lower-level crypto APIs.
Designed to handle potentially large files efficiently without excessive memory usage, as highlighted in the README's philosophy and key features.
Includes common hash algorithms like MD5, SHA256, and CRC32 through unified functions, simplifying file integrity verification for various use cases.
Functions return errors for file operations, allowing robust integration and better debugging in Go applications, as shown in the usage example.
Only supports a fixed set of hash algorithms; if you need others like SHA-384 or BLAKE2b, you must use Go's crypto package or another library.
Restricted to file paths, so hashing strings or in-memory data requires workarounds like writing to temporary files, adding complexity.
Lacks support for incremental or streaming hashing, which can be a drawback for real-time data processing or very large datasets beyond single files.