KeCS is a tool for generating a checksum set from the contents of a directory, which can then be used to verify those files or compared with a different checksum set. A checksum set is stored as a JSON file containing a list of files and their corresponding checksums, as well as other necessary metadata.
Comparing checksum sets can be used as a way to determine whether two copies of the same content are identical without requiring both to be accessible from the same computer.
- BLAKE2b-512 (blake2b512)
- BLAKE2s-256 (blake2s256)
- BLAKE3 (blake3)
- CRC32 (crc32)
- MD5 (md5)
- SHA1 (sha1)
- SHA256 (sha256, the default if not specified)
- SHA3-256 (sha3_256)
- Install Rust using the instructions here or your distro's package manager.
- Clone this repository and execute the following command in it:
$ cargo build --release
Voila! You should now have a usable executable in the target/release
subdirectory.
Example: Generating a checksum set using the blake3 hashing algorithm:
$ kecs generate <path/to/content> -t blake3
$ kecs verify <path/to/file.kecs.json>
$ kecs diff <path/to/file1.kecs.json> <path/to/file2.kecs.json>