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.