Jacksum

Jacksum is a fast, multi-threaded command-line tool and Java library for calculating and verifying cryptographic hashes, checksums and CRCs.

Whether you need to verify file integrity, automate security checks, or work with rare hash algorithms - Jacksum makes checksum processing effortless across Windows, macOS, Linux, and Android.

Prefer a visual workflow? Check out HashGarten, the official graphical interface for Jacksum.

Cross Platform

Jacksum works on Microsoft Windows, macOS, and GNU/Linux. It even works on Android. Since Jacksum is written in Java you don't need to recompile it. It works out of the box the platform independent way.

Use cases

Jacksum covers many types of use cases in which hash values make sense:

  • Calculating hash values/fingerprints of almost any input (files, file trees, command line args, plain or encoded strings, console, standard input, NTFS ADS, pipes, sockets, doors, partitions, disks)
  • Generating and persisting check lists and wanted lists
  • Generating pseudo random numbers, and reproducible, unique, secure passwords
  • Verifying data integrity: finding OK, failed, missing, or new files
  • Performing a strict integrity verification, aka audit
  • Finding files by their fingerprints (positive matching)
  • Finding files that do not match certain fingerprints (negative matching)
  • Finding all duplicates of a file by its hash value
  • Finding the algorithm(s) that generated a certain hash value
  • Gathering detailed hash algorithm information, including whether an algorithm is broken
  • Investigating polynomials of CRCs and parameters of HMACs

For details, see the use cases.

Key facts

  • 586 algorithms (cryptographic hash functions, CRCs, and classic checksums)
  • HMAC support for 490+ hash functions
  • Customizable CRCs from 1 to 64 bit width
  • 70 command line options to control Jacksum's behavior
  • Cross-platform executability with identical behavior
  • Multi-threading for parallel hash calculations and parallel data reads, in order to take advantage of multi-core processors and fast SSD storage
  • Recursive traversal with depth control, policies to follow symbolic links on files and/or folders, and file system cycle detection
  • 18 predefined standard styles for reading and writing check files, 15 of them for wanted lists
  • 17 different encodings for representing hash values
  • 6 predefined styles for representing file timestamps
  • 170+ different character sets to be able to read and write hash files correctly
  • Fully customizable output format
  • 10000+ lines of documentation with descriptions, examples, and compatibility lists for all supported algorithms

For details, see the comprehensive list of features.


Audience

Jacksum is for users with security in mind, advanced users, sysadmins, students of informatics, computer scientists, cybersecurity engineers, forensics engineers, penetration testers, white hat hackers, reverse engineers, CRC researchers, etc. Jacksum is for professionals, but since HashGarten bundles the Jacksum library, Jacksum is also available to users who don't know how to open a terminal.


System requirements

  • GNU/Linux, Microsoft Windows, or macOS
  • a JRE/JDK that is compatible with Java 21 LTS or later (OpenJDK 25 LTS or later is recommended)
  • 2 MiB disk space

See Install or supported architectures and further details.


Algorithm support

Jacksum supports 586 algorithms: cryptographic and non-cryptographic hash functions, including CRCs and classic checksums. It supports HMAC, a mechanism for message authentication using any iterated cryptographic hash function in combination with a secret shared key. It also supports the "Rocksoft (tm) Model CRC Algorithm" to describe CRCs, so additional 1.0399 * 10^267 customized CRCs can be used.

See Algorithms for the full list, and the Algorithm Selection Guide to decide which one fits your use case.


Interfaces

Jacksum provides a Command Line Interface (CLI) and an Application Programming Interface (API). A Graphical User Interface (GUI) is provided by HashGarten, which is a subproject of the Jacksum project. Also, there are File Browser Integrations (FBI) available.

Command Line Interface (CLI)

Command line users benefit from the power of the command line. You can call Jacksum in scripts, cronjobs, AI agents, etc., in order to automate file integrity/verification tasks for example.

See also the manual of Jacksum.

Graphical User Interface (GUI)

If you prefer a GUI and you just would like to calculate and verify hashes with a graphical user interface, I recommend downloading and using the Jacksum File Browser Integration (FBI) installer, which comes with HashGarten, a GUI for Jacksum. HashGarten also runs standalone and it supports Drag and Drop.

File Browser Integration (FBI)

The File Browser Integration (FBI) installer can integrate both Jacksum and HashGarten into your preferred file browser, such as Finder on macOS, Windows File Explorer on Microsoft Windows, and Caja, Dolphin, elementary Files, GNOME Nautilus, Konqueror, Krusader, muCommander, Nemo, ROX-Filer, SpaceFM, Thunar, Xfe, or zzzFM on GNU/Linux. Go to Downloads.

Application Programming Interface (API)

Feel free to use Jacksum as a library in your own project.

Jacksum has opened it's source code and it is released under the terms of the GNU GPL 3 or later.


License

The license that the project is offered under is the GPL-3.0+. Jacksum is OSI Certified Open Source Software. OSI Certified is a certification mark of the Open Source Initiative.  Jacksum is Free Software according the strong conditions of the Free Software Foundation.