Skip to content

A pro data integrity verification tool (+lib), 471 algorithms, free, open source, cross platform, feature-rich, multi threaded, recursive tree traversal, can hash ADS, predefined and customizable output, multiple well known I/O formats, CLI, API, and accessible at your file browser, support for many charsets, full Unicode and BOM support. Manage…

main
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

GitHub issues GitHub closed issues GitHub release (latest by date) GitHub downloads latest GitHub GitHub top language GitHub downloads


Jacksum

Jacksum logo

Jacksum (JAva ChecKSUM) is is a free, feature-rich, cross-platform command line utility and lib, which is all about checksums, CRCs, and message digests (aka hashes, data/file fingerprints, thumbprints).

Jacksum is written entirely in Java .

Jacksum supports 471 data fingerprinting algorithms, including checksums, CRCs, XOFs, cryptographic, and non-cryptographic hash functions. Jacksum also supports the "Rocksoft (tm) Model CRC Algorithm" to customize CRCs.

Jacksum can act as a classic file integrity software that generates, stores, and compares message digests to detect changes made to the files. Actually it can detect matching, non-matching, missing, and new files.

Jacksum traverses file trees recursively with a depth limit.

Jacksum also allows you to identify files by their digital fingerprints, find files that match a given hash value, find all duplicates of a file, and even find the algorithm to a checksum/CRC/hash by using a brute force algorithm.

Jacksum supports multi-threading on multi-processor and multi-core computer systems. Jacksum can compute multiple hashes simultaneously, and it can process multiple files simultaneously.

Input data can come from almost any source: files, disks, partitions, standard input stream (stdin), and/or provided directly by command line arguments. Also platform specific input such as NTFS Alternate Data Streams (ADS) on Microsoft Windows, and block devices, character devices, named pipes (FIFOs), and sockets (Unix-like OS only), and doors (Solaris only) are supported and can be hashed.

Output can occur in predefined standard formats (BSD-, GNU/Linux-, or Solaris style, SFV or FCIV) or in a user-defined format which is highly customizable, including many encodings for representing hash values: Hex (lower- and uppercase), Base16, Base32 (with and without padding), Base32hex (with and without padding), Base64 (with and without padding), Base64url (with and without padding), BubbleBabble, and z-base-32. Paths can be omitted, printed absolutely or relative to a different path.

Jacksum supports many charsets for reading and writing files properly, and it comes with full support for all common Unicode aware charsets such as UTF-8, UTF-16, UTF-16BE, UTF-16LE, UTF-32, UTF-32LE, UTF-32BE, and GB18030. A Byte-Order Mark (BOM) is supported for both input and output, even if a BOM is optional for the selected charset.

Jacksum is a command line tool, and it can be integrated in your file browser, see also Integration.

Jacksum can also be used as a library in your own projects by using its API. Jacksum keeps the binary small, because it bundles only what it really needs to do the job.

For more information, see also the comprehensive list of features.

System Requirements

  • GNU/Linux, Microsoft Windows, or macOS
  • JDK 11 or later
  • 2 MiB disk space
Details:

Quick Start

How to configure and install it

Open a terminal (on Microsoft Windows, it is known as the "Command Prompt") and start Jacksum by typing

java -jar jacksum-3.2.0.jar

I recommend to adjust the Windows batch file (jacksum.bat) resp. the bash script (jacksum) for GNU/Linux and Unix operating systems (e.g. macOS) and to put the script to a folder that is reachable by your PATH environment variable in order to launch jacksum easily just by typing

jacksum

Examples of how to use it

jacksum -h examples

See also the EXAMPLES section of the manpage.

Contribution

We appreciate feedback from users, bug hunters, and fresh ideas from open minded people. Feel free and file support requests, change requests, bug reports and feature requests on GitHub

Spread the word, or give a star here on GitHub.

Documentation

Integration

Products that are powered by Jacksum

Create an issue on github and let me know that you use Jacksum for your product if you want to be listed here.

History

Jacksum was published in July 2002 on https://sourceforge.net/projects/jacksum/. In September 2021, starting with version 3.0.0, it moved its repo to GitHub.

License

The license that the project is offered under is the GPL-3.0+.

About

A pro data integrity verification tool (+lib), 471 algorithms, free, open source, cross platform, feature-rich, multi threaded, recursive tree traversal, can hash ADS, predefined and customizable output, multiple well known I/O formats, CLI, API, and accessible at your file browser, support for many charsets, full Unicode and BOM support. Manage…

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages