Jacksum (JAva ChecKSUM) is a free, open source, cross-platform, feature-rich, multi-threaded command line tool for calculating hash values, verifying data integrity, finding files by their fingerprints, and finding algorithms to a hash value.

Overview

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


Jacksum logo

Jacksum

Jacksum (JAva ChecKSUM) is a free, open source, cross-platform, feature-rich, multi-threaded command line tool for calculating hash values, verifying data integrity, finding files by their fingerprints, and finding algorithms to a hash value.

Jacksum supports 472 hash functions, and a bunch of features.

Jacksum is also a library. It is written entirely in Java .

Is this the right package for you?

If you are skilled command line user (advanced user, sysadmin, computer scientist, cybersecurity engineer, penetration tester, forensics engineer, reverse engineer, ...) this package is for you.

If you are a Java developer and you want to use the power of Jacksum in your app, this lib in .jar format is for you as well.

If you prefer a graphical user interface and you just would like to calc and verify hashes with a graphical user interface, I recommend to download and use the Jacksum File Browser Integration installer which is available for many different file managers. See also Integrations.

Hash functions

Hash functions play an important role in many cryptographic and non-cryptographic mechanisms, for example when verifying data integrity or identifying files. They map a bit string m ∈ {0, 1}* of arbitrary length to a bit string h ∈ {0, 1}n of fixed length n ∈ ℕ.

The result of a hash function is the hash value.

Jacksum supports 472 hash functions, both cryptographic and non-cryptographic hash functions.

Cryptographic hash functions

This version supports the following cryptographic hash functions:

BLAKE-[224,256,348,512], BLAKE2b-[8..512], BLAKE2s-[8..256], BLAKE3, DHA-256, ECHO-[224,256,348,512], ed2k, FORK-256, Fugue-[224,256,348,512], GOST Crypto-Pro (GOST R 34.11-94), GOST R 34.11-94, Groestl-[224,256,384,512], HAS-160 (KISA), HAVAL-128-[3,4,5], HAVAL-[160,192,224,256]-[3,4,5], JH[224,256,284,512], KangarooTwelve, Keccak[224,256,384,512], Kupyna[256,384,512] (DSTU 7564:2014), LSH-256-[224,256], LSH-512-[224,256,384,512] (KS X 3262), Luffa-[224,256,348,512], MD2, MD4, MD5, MDC2, MarsupilamiFourteen, PANAMA, RIPEMD-128, RIPEMD[160,256,320], RadioGatun[32,64], SHA-0, SHA-1, SHA-[224,256,384,512], SHA-512/[224,256] (NIST FIPS 180-4), SHA3-[224,256,384,512], SHAKE[128,256] (NIST FIPS 202), SM3, Skein-1024-[8..1024], Skein-256-[8..256], Skein-512-[8..512], Streebog-[256,512] (GOST R 34.11-2012), Tiger, Tiger/128, Tiger/160, Tiger2, VSH-1024, Whirlpool-T, Whirpool-0, and Whirlpool.

Non-cryptographic hash functions

Classical checksums

This version supports the following classical checksums:

Adler-32, ELF (Unix), FNV-0_[32,64,128,256,512,1024], FNV-1_[32,64,128,256,512,1024], FNV-1a_[32,64,128,256,512,1024], Fletcher's Checksum, XXH32, cksum (Minix), cksum (Unix), joaat, sum (BSD Unix), sum (Minix), sum (System V Unix), sum [8,16,24,32,40,48,56], xor8

CRCs

This version supports the quasi-standard called "Rocksoft (tm) Model CRC Algorithm", and even an extended model of it which allows you to define CRCs based on particular parameters. This version supports the following CRCs explicitly:

CRC-8 (FLAC), CRC-16 (LHA/ARC), CRC-16 (Minix), FCS-16, CRC-24 (OpenPGP), CRC-32 (FCS-32), CRC-32 (MPEG-2), CRC-32 (bzip2), CRC-32 (FDDI), CRC-32 (UBICRC32), CRC-32 (PHP's crc32), CRC-64 (ISO 3309), CRC-64 (ECMA-182), CRC-64 (prog lang GO, const ISO), CRC-64 (.xz and prog lang GO, const ECMA)

Where to download?

The latest released .jar file can be found at https://github.com/jonelo/jacksum/releases/latest The .zip file also contains simple scripts to call Jacksum on Windows, Linux, and macOS from the command line.

How to install and configure it

Download the .jar (or .zip) file as described above, open a terminal (on Microsoft Windows, it is known as the "Command Prompt") and start Jacksum by typing

java -jar jacksum-3.4.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
Details ...

The following snippet could help you to setup Jacksum on GNU/Linux. In the example below, the launch script will be stored in $HOME/bin/ which will also be added to your PATH. The jar file will be stored to /opt/java/apps/jacksum/ so other users on the computer have access to it as well.

> $HOME/.profile $ export VERSION=3.4.0 $ unzip jacksum-$VERSION.zip $ cp jacksum-$VERSION/unix/jacksum ~/bin && chmod +x ~/bin/jacksum $ sudo mkdir -p /opt/java/apps/jacksum && cp jacksum-$VERSION/jacksum-$VERSION.jar /opt/java/apps/jacksum/ $ rm -R jacksum-$VERSION/">
$ echo 'export PATH="$PATH=$HOME/bin"' >> $HOME/.profile
$ export VERSION=3.4.0
$ unzip jacksum-$VERSION.zip
$ cp jacksum-$VERSION/unix/jacksum ~/bin && chmod +x ~/bin/jacksum
$ sudo mkdir -p /opt/java/apps/jacksum && cp jacksum-$VERSION/jacksum-$VERSION.jar /opt/java/apps/jacksum/
$ rm -R jacksum-$VERSION/

Examples of how to use it

jacksum -h examples

See also the EXAMPLES section of the manpage, and the Cheat Sheet in the Wiki.

Features

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 ...

Documentation

Integrations

History

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

Contribution

I 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.

How to clone/compile/package/install it (for developers)

Jacksum can be build by Maven. On the command line you can simply clone the source code by calling git clone and compile/package/install by calling mvn install. After installation, the .jar file can be found unter the target directory and in your $HOME/.m2/ directory structure. You should set JAVA_HOME properly so that the JDK tools such as javac and javadoc can be found.

Details ...

Example on Ubuntu 20.04.4 LTS:

$ export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
$ git clone https://github.com/jonelo/jacksum.git
$ cd jacksum
$ git tag -l
v3.0.0
v3.0.1
v3.1.0
v3.2.0
v3.3.0
$ git checkout tags/v3.3.0 -b three-three-zero
$ mvn install

Call mvn -version to check whether your maven would use at least Java 11. Alternatively use an IDE which supports both cloning from a GitHub repo and Maven.

License

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

Comments
  • Error with any algorithm!

    Error with any algorithm!

    I'm getting the following error:

    Exception in thread "Thread-1" java.lang.IllegalAccessError: tried to access method net.jacksum.multicore.manyfiles.WorkerThread$ThreadID.()V from class net.jacksum.multicore.manyfiles.WorkerThread at net.jacksum.multicore.manyfiles.WorkerThread.(WorkerThread.java:58) at net.jacksum.multicore.manyfiles.MessageWorker.run(MessageWorker.java:65) at java.base/java.lang.Thread.run(Unknown Source)

    I have the latest 11th gen intel icore cpu (maybe that's why). Please let me know if there is something i can do about this!

    support request solved user error 
    opened by lexterror 6
  • Android console version

    Android console version

    Hi, I was wondering whether its possible to build a console version of your program for android since its written in java! Theres been times when I havent used my laptop for several weeks and wanted to make sure I was transferring files correctly!

    Thank you!

    info 
    opened by lexterror 5
  • Install as CLI only on W10/W11.

    Install as CLI only on W10/W11.

    Describe the problem

    A clear and concise description of what the problem is.

    To Reproduce

    Steps to reproduce the behavior:

    1. Enter the command '...'
    2. See the output '...'
    3. Scroll down to '....'
    4. See the error

    Expected behavior

    A clear and concise description of what you expected to happen.

    Screenshots

    If applicable, add screenshots to help explain your problem.

    Environment (please complete the following information)

    Run jacksum --info > env.txt and attach env.txt. Please review env.txt before attaching it to the support request, because it contains all system properties read by your JVM, and it could contain personally identifiable information (PII). Feel free to remove all lines that you don't wanna share with the public.

    Additional context

    Add any other context about the problem here. I am new to jacksum and would like to install the latest version on my W10/W11 systems for use as a command line only. The instructions on jacksum.net appear downlevel and at least confusing. Thanks much for your help. Enjoy, John.

    documentation support request solved 
    opened by mistergitj 4
  • Feature request: Provide a basic terminal for Android for those who want to use jacksum on Android.

    Feature request: Provide a basic terminal for Android for those who want to use jacksum on Android.

    Hi Jonelo,

    I was wondering if you wanted to provide a basic terminal to be able to run your jar jacksum program on Android. The source code is already available and working. I was able to use command line options for jacksum on verion 2.0 of shell tools (shell terminal) and it works flawlessly. I was not able to use command line options on the latest version because it would not recognize the options. its either a bug or maybe i missed something. Also, I think it would be very useful and most of the work is already done.You could just have the terminal as an option and rename/rebrand (if allowed) your new terminal for use with jacksum.

    Thank you Jonelo!

    https://github.com/kakathic/Tool-Shells

    feature request rejected 
    opened by lexterror 3
  • Feature Request: add --expect-hashes-in-check-file

    Feature Request: add --expect-hashes-in-check-file

    Hi Jonelo,

    I wanted to know if it was possible to add -e command with *

    I thought maybe you could load all the hashes from the "hash-all-files.txt" and recursively check all files including sub-directories and see if any existing files match any of the store hashes in "hash-all-files.txt"

    I looked at the manual and did not see any options for checking a different folder structure later!

    Thank you!

    feature request solved 
    opened by lexterror 3
  • Parsing-related issues

    Parsing-related issues

    Here's folder listing:

    Filename                         Size
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Complete Arcane.pdf              5,52 MB
    Complete Mage.pdf                4,12 MB
    Complete Psionic.pdf             3,20 MB
    Expanded Psionics Handbook.pdf   7,04 MB
    Heroes Of Horror.pdf             6,45 MB
    Miniatures Handbook.pdf          6,83 MB
    Player's Handbook II.pdf        19,51 MB
    Player's Handbook.pdf            7,87 MB
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    8 files- 60,525 MB
    

    We use: jacksum -a md5 -8 -s \t -O dnd.hash "Dungeons & Dragons 3.0 and 3.5" We got dnd.hash of this content:

    4554e83783e3ccfaf939002e98478899	Dungeons & Dragons 3.0 and 3.5\Complete Arcane.pdf
    dbbc5f9a26bbf594eaf2dbaccd10491c	Dungeons & Dragons 3.0 and 3.5\Complete Mage.pdf
    44babcd353a3db448e19b6573f8edfa6	Dungeons & Dragons 3.0 and 3.5\Complete Psionic.pdf
    3de6ee6ecf3d729df96a561dae387482	Dungeons & Dragons 3.0 and 3.5\Expanded Psionics Handbook.pdf
    eabf343b60adf0c144530e7b7537c271	Dungeons & Dragons 3.0 and 3.5\Miniatures Handbook.pdf
    da0bcd5a95e74812f4453b51db64e86c	Dungeons & Dragons 3.0 and 3.5\Heroes Of Horror.pdf
    f6fc49a656eec3ca5971bd75b8e8196e	Dungeons & Dragons 3.0 and 3.5\Player's Handbook.pdf
    df9685be4a78d13d4006d985993d4658	Dungeons & Dragons 3.0 and 3.5\Player's Handbook II.pdf
    

    Trying to verify the same folder against this hashlist (working from 1 level up from listed folder):

    >jacksum -a md5 -E hex -8 -s \t -c dnd.hash
    Jacksum: Error: & Dragons 3.0 and 3.5\Complete Arcane.pdf: does not exist.
      MISSING  & Dragons 3.0 and 3.5\Complete Arcane.pdf
    Jacksum: Error: & Dragons 3.0 and 3.5\Complete Mage.pdf: does not exist.
      MISSING  & Dragons 3.0 and 3.5\Complete Mage.pdf
    Jacksum: Error: & Dragons 3.0 and 3.5\Complete Psionic.pdf: does not exist.
      MISSING  & Dragons 3.0 and 3.5\Complete Psionic.pdf
    Jacksum: Error: & Dragons 3.0 and 3.5\Expanded Psionics Handbook.pdf: does not exist.
      MISSING  & Dragons 3.0 and 3.5\Expanded Psionics Handbook.pdf
    Jacksum: Error: & Dragons 3.0 and 3.5\Miniatures Handbook.pdf: does not exist.
      MISSING  & Dragons 3.0 and 3.5\Miniatures Handbook.pdf
    Jacksum: Error: & Dragons 3.0 and 3.5\Heroes Of Horror.pdf: does not exist.
      MISSING  & Dragons 3.0 and 3.5\Heroes Of Horror.pdf
    Jacksum: Error: & Dragons 3.0 and 3.5\Player's Handbook.pdf: does not exist.
      MISSING  & Dragons 3.0 and 3.5\Player's Handbook.pdf
    Jacksum: Error: & Dragons 3.0 and 3.5\Player's Handbook II.pdf: does not exist.
      MISSING  & Dragons 3.0 and 3.5\Player's Handbook II.pdf
    
    Jacksum: total lines in check file: 8
    Jacksum: improperly formatted lines in check file: 0
    Jacksum: correctness of check file: 100.00 %
    
    Jacksum: matches (OK): 0
    Jacksum: mismatches (FAILED): 0
    Jacksum: new files (NEW): 0
    Jacksum: missing files (MISSING): 8
    
    Jacksum: total files read: 0
    Jacksum: total bytes read: 0
    Jacksum: total bytes read (human readable): 0 bytes
    Jacksum: total file read errors: 8
    
    Jacksum: elapsed time: 139 ms
    

    I guess it has something to do with & char, but I'm not sure. We see, it ignores Dungeons part of relative path.

    support request solved user error 
    opened by Alepod 3
  • Regression: Jacksum 3.0.0 to 3.4.0 hangs while trying to read NTUSER.DAT on Microsoft Windows if more than one algo has been selected

    Regression: Jacksum 3.0.0 to 3.4.0 hangs while trying to read NTUSER.DAT on Microsoft Windows if more than one algo has been selected

    Describe the bug Jacksum 3.0.0 to 3.4.0 hangs while trying to read NTUSER.DAT on Microsoft Windows. Issue occurs in concurrency mode only, i. e. if more than one algo has been selected.

    To Reproduce

    C:\Users\Johann>jacksum34 -a md5+sha256 -V all -r 1 .
    ...
    .\NTUSER.DAT (Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird)
    java.io.FileNotFoundException: .\NTUSER.DAT (Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird)
            at java.base/java.io.FileInputStream.open0(Native Method)
            at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
            at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
            at net.jacksum.multicore.manyalgos.DataReader.run(DataReader.java:78)
            at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
            at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
            at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
            at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
            at java.base/java.lang.Thread.run(Thread.java:829)
    

    process hangs.

    Expected behavior it should not hang, but print out the error only and continue.

    Jacksum: Error: .\NTUSER.DAT (Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird)
    

    Screenshots n/a

    Environment (please complete the following information): n/a

    Additional context n/a

    bug fixed accepted 
    opened by jonelo 2
  • Wrong hashSize in GNU-Crypto's whirlpool 0-arguments constructor (and all whirlpool derived implementations)

    Wrong hashSize in GNU-Crypto's whirlpool 0-arguments constructor (and all whirlpool derived implementations)

    Describe the bug First of all, the whirlpool calculation is correct. However, the whirlpool implementations have been registered with a wrong bitwidth.

    whirlpool ist not listed in the list of 512 bit hashes:

    $ jacksum31 -a all:512 --list
    blake512
    blake2b-512
    echo512
    fnv-0_512
    fnv-1_512
    fnv-1a_512
    fugue512
    groestl-512
    jh512
    keccak512
    kupyna-512
    lsh-512-512
    luffa512
    marsupilamifourteen
    sha512
    sha3-512
    shake256
    skein-512-512
    skein-1024-512
    streebog512
    

    Instead it is listed at the end of the 160 bit width message digest list:

    $ jacksum31 -a all:160 --list
    blake2b-160
    blake2s-160
    has160
    haval_160_3
    haval_160_4
    haval_160_5
    ripemd160
    sha0
    sha1
    skein-256-160
    skein-512-160
    skein-1024-160
    whirlpool0
    whirlpool1
    whirlpool2
    

    which is wrong, because whirlpool have a hash bit width of 512 bits.

    To Reproduce Since the other two Whirlpool implementations (Whirlpool-0 and Whirlpool-2) are derived from the GNU Crypto Whirlpool-1 (aka Whirlpool-T), the bug is in all three implementations.

    The bug is in GNU-Crypto's original Whirlpool.java (even in GNU-Crypto 2.1.0):

       /** Trivial 0-arguments constructor. */
       public Whirlpool() {
          super(Registry.WHIRLPOOL_HASH, 20, BLOCK_SIZE);
       }
    

    This is wrong because Whirlpool's hashSize is 512 bit (64 bytes), and not 160 bit (20 bytes).

    Expected behavior

    jacksum -a all:512 --list once fixed, the command above should list whirlpool0, whirlpool1, and whirlpool2 in this list also jacksum -a all:whirlpool --list --info should list the hash length correctly which is 512 bits or 64 bytes

    Screenshots n/a

    Environment (please complete the following information): Jacksum 3.1.0

    Additional context n/a

    bug fixed not a jacksum bug 
    opened by jonelo 2
  • allow -q file:<file>

    allow -q file:

    Is your feature request related to a problem? Please describe. feature request

    Brian dropped me a private email: "Can Jacksum read from a file to determine an unknown algorithm instead of just hex in the command line? I ask because at over 1MB this file cannot be accepted in hex (too long for windows to send in console window)."

    which is actually an implicit request for a function extension ...

    Describe the solution you'd like allow -q file:<file>

    Describe alternatives you've considered no alternatives, because shells have limits and if the command line is too long you get "Argument list too long" on GNU/Linux for example

    Additional context n/a

    feature request solved 
    opened by jonelo 2
  • Take -s into account for the default parser

    Take -s into account for the default parser

    Jacksum 3 supports compatibility files, but it would be nice to take -s into account for the default parser (at least if -s is set to \t). For details see also issue #6

    feature request solved 
    opened by jonelo 2
  • Statistics are all zero if --check-line has been set

    Statistics are all zero if --check-line has been set

    Describe the bug Statistics are all zero if --check-line has been set

    To Reproduce

    jacksum -a sha256 --check-line "f9bb2cbc9765aab356e2907d3cf09154de107d48f783101d63d909450e3713ca wanted.txt"
           OK  wanted.txt
    
    Jacksum: total lines in check file: 0
    Jacksum: improperly formatted lines in check file: 0
    Jacksum: properly formatted lines in check file: 0
    Jacksum: ignored lines (empty lines and comments): 0
    Jacksum: correctness of check file: NaN %
    
    Jacksum: matches (OK): 1
    Jacksum: mismatches (FAILED): 0
    Jacksum: new files (NEW): 0
    Jacksum: missing files (MISSING): 0
    
    Jacksum: total files read: 1
    Jacksum: total bytes read: 713
    Jacksum: total bytes read (human readable): 713 bytes
    Jacksum: total file read errors: 0
    
    Jacksum: elapsed time: 150 ms
    

    Expected behavior one line has been passed by option called --check-line, so it should treat that line as it would come from a check file - also for the statistics.

    Screenshots n/a

    Environment (please complete the following information): platform independent issue

    Additional context n/a

    bug fixed 
    opened by jonelo 1
  • Provide a German help file

    Provide a German help file

    Is your feature request related to a problem? Please describe. non-functional requirement: learnability: the system should be learnable for users with knowledge of German only

    Describe the solution you'd like jacksum -h de <word> was possible with Jacksum 1.7.0, but it is not with Jacksum 3.

    Describe alternatives you've considered there is a German website available, but the manpage is still English only: https://jacksum.net/de

    Additional context n/a

    feature request accepted 
    opened by jonelo 0
Releases(v3.4.0)
  • v3.4.0(Jun 19, 2022)

    • new features:

      • features in this release are mostly around GitHub issue #10
      • added option -w resp. --wanted-list to find files that match hashes in a precalculated list
      • added option --wanted-list-charset and alias --charset-wanted-list to specify the charset for the "wanted list"-file
      • added option --wanted-list-filter in order to filter the output produced by -w, allows both positive and negative matching
      • documented operating modes to the help file
    • bug fixes:

      • sm3 not returned by calling "jacksum -a all -l"
      • if "--file-list " and "--format #FILENAME{path}" is set, a NPE is thrown if the parent of a file in the list is null
      • false positives during -c: files are found as NEW more than once if the specified file references have different relative paths to the same file

    reliable hash values of jacksum-3.4.0.jar (also included in jacksum-3.4.0.zip):

    File info:
        name:                      jacksum-3.4.0.jar
        size:                      1162965 bytes
    
    legacy message digests (avoid if possible):
        MD5 (128 bit):             6673ac685ab96650b8161efc893fbf2d
        SHA1 (160 bit):            a6d19f0a09600a25cdf7b25a1278ce55a529129e
        RIPEMD-160 (160 bit):      3b24c45533421be1415064adaaf2bc7871c07fcb
        TIGER (192 bit):           c01221138f029a97218b07e2bf0faee73469ce5f4769ed44
    
    256 bit message digests (hex):
        SHA-256 (USA):             8a1c3901bcdafddc13706272c02fbf7fca9fc2e29ae39929f6b088e5114f70df
        SHA-512/256 (USA):         e6e7e6d7658862a5575bb350a5bb24988b1f384fd24504d41b7f2ec687c31831
        SHA3-256 (USA):            f5341ece64588cc41ab71887c350f55cd4f512806f00980ba7b6e774f41db1ec
        SHAKE128 (USA):            105689f2d79ab8620f8f2c26e3e9d96e5d91d8902db4ee0283ed2580e5edfe7c
        SM3 (China):               963775e1f198b425cf41dd0e4fe1205a87a47f4768db299f122279b0773b4d9c
        STREEBOG 256 (Russia):     a4432a727e1de158ea89bc46ba4e962b5347ed6dfa9d195d772adc1b67ee759a
        Kupyna256 (Ukraine):       282054a7e8ac51695b0f680b66bcf384080f7c88968837dbd558d756bfcb3382
        LSH-256-256 (South Korea): acb61ef7de84e4a9bd34cc60c53c773886b2b7102e64b8eaf93e9716d43ffd16
        BLAKE3:                    892dc09d0a50ca3d334c3544bd6e5f717bcea94d58ae6ec7fd25f7cde9c363de
        KangarooTwelve:            eee22bc8fb71831fbeeef4d0a3cf6b38e987c02c20614ee6a98651a053d28620
        KECCAK256:                 65cc99880897b4beeb7024cb0298bc26f451fda6f5509f5526c4d183b8740f02
    
    512 bit message digests (base64, no padding):
        SHA-512 (USA):             ciF9Ig3zx41K7FaxaPzuB1OeNbB5ghKNZBCxSwE0uSC6+axMpAH1bTqrP4QE+0GizyobcKOYSkorKdHEoHR6Og
        SHA3-512 (USA):            8WkrFRMOb698nlMtdUB5Iso54aDEP6M+dTll43aO0Hf9oLOuOAxnbwCovJNJbmdTc1uveNyhoelF64E+xvI85w
        SHAKE256 (USA):            IArquDLf2MfZJPun7ERUQqgaW7xHSQz6lcmWpgowoaO0OI38BsKHUmryuhCK9t01qUv2BjZ/yHQTlRp9OT3UbA
        STREEBOG 512 (Russia):     I6oXm4vvpKKDpiKpdfxoQlyURA+iKfQYDQ5TR2Ir/6kztcRz5UtwHSOT5Qrn5l5cr8pcymMCmVKnasYRRi1QFQ
        KUPYNA-512 (Ukraine):      YoBw6e6QZ2jcqX16PFtPiYGb3H0wDYWSWqV9DwjRIMp90a+X0ifyy5UQ/FkT2wxjT+t3oj0JqyCnW6KlnK1pFA
        LSH-512-512 (South Korea): Xx7nlDKMpj0Bilh3rxZcCGIDpmhYvCMLRmNIM/PWqe0uRGxFMBDf8LKH77ekZL9mU5wtJuF0/2W5EqgZ3AeerQ
        BLAKE2b-512:               2LvqhgFLYVFExFXRTwijVNA2sZ4CJByXys7pgCPUFN6xRhjDoWkyKN5YtcVqYqcMRb2kR7L+41i7HyLfgADAUg
        KECCAK512:                 y17gcJVpvwvRG6dcD5CL4ba2Jv0zEV13jSI4F3kU4FI/41jNUkoEnUyRX7NysyZhRQNTvjOQZuFkkvtgg/pKRg
        MarsupilamiFourteen:       uxCH3p0BfujZXOVqSktdXPNQ/ur9zVe6VWXImjv3S4cM8pdCwpiWaYtMFWiEaor82AxbSBWjkGU6VVnJbE1dCQ
        SKEIN-512-512:             +aqAQX5vDSu7smUxf/eOJCAV6oyZNHhQ+eeN53gervFR9IaD1V+cDXdDgsh5SZ+w9drj6qTMzojI2e219Rf8Jg
        WHIRLPOOL:                 cl3rwQAb59XWFMNxswxTXyEUdA/gJPBuv61zZQ0XSNMa9Y0D4/tN4FtUShDlu6hEAyWqBsBBjXuQGKU8mAEz0Q
    

    reliable hash values of jacksum-3.4.0.zip:

    File info:
        name:                      jacksum-3.4.0.zip
        size:                      1093869 bytes
    
    legacy message digests (avoid if possible):
        MD5 (128 bit):             51445b457a6434726d4dcd3e6859c328
        SHA1 (160 bit):            a554416a7c22feb14519daa14e28bed17a358ed2
        RIPEMD-160 (160 bit):      7cda96b3e90a713e8da946364f9fc095e0409b7b
        TIGER (192 bit):           4a29ab3ce9c5ebebdee8694f93b838d1ceaed85896d86f09
    
    256 bit message digests (hex):
        SHA-256 (USA):             97aa6051a3a07c877eb1f569b6444d7cf0c8f6a43e9a0db8b8df8ad33389b207
        SHA-512/256 (USA):         1f9cb7fd0cf6d0a318fddf13b2d2ce726d8d7da2f9bb783899883bbbbb6fb7f4
        SHA3-256 (USA):            e93524706a86ae283c895cae372e49d70fdce57686e55be0554824f6a2fecee7
        SHAKE128 (USA):            ecce5541603b3c1e3eba55678de9aa0c7973b86763c787beccf83f85901e03ad
        SM3 (China):               de9867aed5fdd9e72889bfd5bf28b5ed07d5bcd99bf4411c93559a27182a3552
        STREEBOG 256 (Russia):     8310ab00f073877ff19af64e6f50c65cbf6fc2e0e394162cd56dea61cb8b0b8e
        Kupyna256 (Ukraine):       81277fdcafb574533421f82d058f79c704bd5935c309722c25557f581c363ca0
        LSH-256-256 (South Korea): e7765dac6e4ef563365af27366cbe6e5d882d5fe1b9e4f88053411ab49c4f771
        BLAKE3:                    102a0d7cef01b783323fc014afb6fa9012437cd2039f48b773832a70a15148aa
        KangarooTwelve:            a34a24ad0a467de212520cec04b85c0777a387c74b7f712f6f4502403f214c61
        KECCAK256:                 02a793b0e9c4b648161f4f0c0956deec542bffca361473f63daa8dfa0f0b7944
    
    512 bit message digests (base64, no padding):
        SHA-512 (USA):             BmSuVLQ+hdc1Z7tBkWRlhJncNZPgeuYch7R6HKV9g6jbNOkq2htShtf5+baHBkbJRPDjvsZ+sZ7MQafUYQ6yFQ
        SHA3-512 (USA):            JtF86EqLxT4sTNTEZ1X1fXMIyFJd4UowA7VTP9b5arN6hx859If1R3HZer1s9KhwRN5mOUu7Myei4Epo+6D21A
        SHAKE256 (USA):            gPqNc8CUAzqJClsRJDcZRWGsS59wH+LJHuWmGoNYj94A/LHGH0Qa3QkNtuo9DJLowdsHLiLwyaEufiULfmJSEQ
        STREEBOG 512 (Russia):     0A5Cgqz7CTI7yrNMIcbGCpj17bQ8vVXCJ+R/XZm/PS1wD8ZPEBSe/lsyCiFxSWyDwcKGpZPmzsKlO1wCLcFrvA
        KUPYNA-512 (Ukraine):      o5R9xGvLtDDvKwq8Tzbw1ui45Md23t1BdyfMTMcdxe3ORhTKZtZG7of81VKiu5yZu5Xlbv27Xgtf6Nwnjax5ZQ
        LSH-512-512 (South Korea): vrN7qPmK+BL/ZfIndfo4/DiZ4lb4UybMyq7dDK79gHXEwlmazkfuRNqBs6p4Ep1F1kFuU/rTRVOssnVcPr5I0A
        BLAKE2b-512:               K5QBmnOg8XDu1zAs5niShx5DtcSGrQjyEbZAJJe4678cqRvK3gEMYJEUfZjGgNvKvyGUEt9M8U4YE3a+sZ5gyg
        KECCAK512:                 kA+tXFyCOOmlD5WjJ4SXzVuOJ4IxEqJwDueN2/+Q3AGDIfU+ecSu1EpWcjh8/ZeMHKFew2WiFM2/FL3yBt+IvQ
        MarsupilamiFourteen:       VaOyQ5BFl5J58vdG+Dpn9uFNOD6DyDcsvMMOAbyJhNdTlnL0GQ8hSlSaaNL17yh5LhOYQ/oZncCfJQcyGZH31w
        SKEIN-512-512:             0TA0K90SlBeSW8G/WiaKo4/nmU7V5EY36H0qCOuvOLVBVztvBrC2FeOFbui4PLPmXGLVZQvmwULHhG8E7eiRPA
        WHIRLPOOL:                 vIvYP7hiUZdQYnmf5e+f4iDqwCdn/Eyc6dPFBfEzh8QB3AwFw35K2KIyiDqWcqQNZpa6P8MfSyKD/HEkB8OXpw
    
    Source code(tar.gz)
    Source code(zip)
    jacksum-3.4.0-javadoc.jar(3.75 MB)
    jacksum-3.4.0.jar(1.10 MB)
    jacksum-3.4.0.zip(1.04 MB)
  • v3.3.0(Apr 23, 2022)

    • new features:

      • added option --threads-hashing to control the number of threads if multiple algorithms should run in parallel
      • added option --threads-reading to control the number of threads if multiple files should be read in parallel
      • added option --path-relative-to-entry (required for the integration at the Windows Explorer's SendTo-menu)
      • added option --filesize to control whether the file size should be added or not
      • added option --gnu-filename-escaping to tag the lines where file names have been escaped (default, linux, and bsd styles)
      • parse escaped file names that have been tagged in default, linux and bsd verification files
      • added format token #BINTAG to tag binary mode in verification files with a Linux style produced on Microsoft Windows
      • added format token #ESCAPETAG to tag lines where the file name has been escaped using the GNU file name escaping feature
      • added format tokens #ALGONAMES, #ALGONAMES{uppercase}, and #ALGONAMES{lowercase} to print algorithm names separated by a comma if multiple algorithms have been selected
      • added format tokens #HASHES, #HASHES{} to print hashes separated by comma if multiple algorithms have been selected
      • added public API calls to allow requesting info from the build-in help
    • performance:

      • the option --threads-reading is set to 1 by default to avoid performance degradation for hashing files stored on non-SSD-media such as HDDs or CD-ROMs
      • faster output of the build-in help by using memory buffering before printing
      • improved initial values for HashMap constructors
    • bug fixes:

      • fixed: if ")" is part of a file name (e.g. "file (1).txt", the regexp in the bsd, solaris-tagged, solaris-untagged, and openssl compat files don't detect the filename
      • fixed: if a path cannot be relativized by --path-relative-to it should not print stacktrace, but simply return the non-relativized path (e.g. if both paths have a different roots on Microsoft Windows).
      • fixed: normalize paths if --path-relative-to is set to avoid false positives during verification
      • fixed: option --path-relative-to is not taken into account if --compat has been set
      • fixed: --header's invocation arg need to be quoted if arg starts with a # sign
      • fixed: if Jacksum is being called by its API, the invocation args should be printed from the actual parameter object values, and not from the CLI parameters
      • fixed: wrong help section is printed out in case of user errors with --file-list-format
      • fixed: slightly wrong error message if concurrent path options have been set
      • fixed: algorithms with a numeric parameter (e.g. haval__) cannot be found by the build-in help function if fully expessed (e.g. jacksum -h haval_256_5)

    reliable hash values of jacksum-3.3.0.jar (also included in jacksum-3.3.0.zip):

    File info:
        name:                      jacksum-3.3.0.jar
        size:                      1151050 bytes
    
    legacy message digests (avoid if possible):
        MD5 (128 bit):             97425f37b8d5d2e64156df510015837c
        SHA1 (160 bit):            b90c978caab5445f3c3fb9248a1efcf112062c6a
        RIPEMD-160 (160 bit):      b6bafd07ba0c96caaa3f13ed35ce3097826037be
        TIGER (192 bit):           cfceb183df18d75750e49e8652ffd391a2696d2e0a2f3a9b
    
    256 bit message digests (hex):
        SHA-256 (USA):             3ec6168aebfe30fbea385dd6f9919c785a5f78e9610cdeeca70d95c658ac87a3
        SHA-512/256 (USA):         9571c131640bbde3ffa4a21856ab8f38490fbfdc01aa1c41288dd11ecc822f34
        SHA3-256 (USA):            21bc6247aa675692582230454ceb156ef9198e8c6c42d8af48c1cfc6002f747c
        SHAKE128 (USA):            bbdeed8cb971022dc6d8cc85e9808b69b750bc8552c874818b2c12cef610972a
        SM3 (China):               307b5c490fe0ba3b3a8a86e534010194ac38f853bd0c866b1c91e3b3b74afdfc
        STREEBOG 256 (Russia):     abbc083f6718d71a42b77c54b1b8b0cad04b9089b41ff2c458e06b87268a7ca3
        Kupyna256 (Ukraine):       436c8f0c19e9252480e0995770354d08307f14b18d2ccd984b0f62f18e8d44f4
        LSH-256-256 (South Korea): f02baac7ec9d29302b9d54108cd2455f07fd54a3ccdc290387b6680ec7fb637b
        BLAKE3:                    9273f083b28ce63a20a8dd95a4f1d3320c3a10c16e8f10ea666057b64c2a94f0
        KangarooTwelve:            bced9ee99c5b40bc3417dae52c1c4a0296d5a58cc5d0f9bb34b00cfd4bdfce6d
        KECCAK256:                 442c0fb72bd6cea6685f63505a30ddf279abde94e5c228e51a3b47bd998cb658
    
    512 bit message digests (base64, no padding):
        SHA-512 (USA):             74CH2VDkhZaiDnSLZ77VqmsMaSUz0e5SPsdexHI05KWKrMJ816kGcQ32tlsmkde/e4RnpcqkyJTWmclV/WRK9g
        SHA3-512 (USA):            Uto+lfBkncsAKZf0ooJSwM+PlDUJbXrCIa8+Dswc/XVTBOgsw1RIBDiLisHXDZZQ0slD/aFAEdRbdhGMszgq0g
        SHAKE256 (USA):            uWbwd6V2vI9tmBT5V9AKNdbrU1IPOAbRf4gIsJhowWLDoDlLL3d7Pt/VpMtftW6zLAzwf34BsV35EMCykpjUSg
        STREEBOG 512 (Russia):     oh2HpiYyByL/ZLfiqh/33hPh03jzOtDxIrgI4tVkk4KNVV1AMenGZcXCLuBid6ojG0xZkiuIE/s+v1UFkgFAQw
        KUPYNA-512 (Ukraine):      ZIbPI82fvYZiVw+TA00nlJkzFIhS4P4VeqHPpho+3OO+bVwfdW+thZEcTqjyLIEFYrQamQaEz2fF5b7pu49dxQ
        LSH-512-512 (South Korea): kjC9DvteSSlQBHpZJ9StC1DKWFNpuFwi8JykXp4FGELqUSMnM060HnNwR3Yfgb9mDbN5EUZD3H4p93cwfa3qwQ
        BLAKE2b-512:               q7sd8gFUP1RLM6rAhzpTAOWuZQB3xaHWotS7hI9GgzD35C9XEJjaY3u17C3rs31KbUm9e+woCcYRG7pQ3svJtA
        KECCAK512:                 Ed77s+Ow6DAp0H0H7d7t67ZEZFP9BiVczLqw8KB0cShDQkFO7QTXjTiQFrnSdrH5ykTEafe4LCzcEhqrkb+KMQ
        MarsupilamiFourteen:       WRNj82EnkgAvrPcFsZBtFwvi3V0Bizb9f3ISnfV5hkWdAquhSC6aV6rwE9stymvFmHyEDT51uHDiN5N2tvLRZQ
        SKEIN-512-512:             iSKbEqSG+u27DFKPTJZaGGCHx12wnQO4s5G/rUd7aKAkign3W5oHBFTER+8TjYUuCBlhhwyoa20znP4nQNzzXA
        WHIRLPOOL:                 4zLjYgztXPPC27WFEuv4BkZdznj3YBmxoM4rCy/lmD6jF305IYgz1p0JTYpmDqSJ5Zi/lf5szUneLVxu9QYTFA
    

    reliable hash values of jacksum-3.3.0.zip:

    File info:
        name:                      jacksum-3.3.0.zip
        size:                      1082930 bytes
    
    legacy message digests (avoid if possible):
        MD5 (128 bit):             924a187443bd312a429827c19673ab6a
        SHA1 (160 bit):            f11f60dd3fa9ab9dd8ca7a98c377ee904f141761
        RIPEMD-160 (160 bit):      9c986e1f59f11739ad8f93a1c666d8a65c46fae6
        TIGER (192 bit):           08f13b27c168228cd35ca7f2241fa52d6d07105d20274534
    
    256 bit message digests (hex):
        SHA-256 (USA):             20ac566edc730fefd2a9981332c14ebb2d89a9880ea16b470cad86bf9dfe7b56
        SHA-512/256 (USA):         1be35fbc63c15fdbb8bbee76de725b48fa2a790f6ef6bb47f423282d3af8818c
        SHA3-256 (USA):            9ff7f113b2cd042c186a54357419a7921981ea0f9133e2eacd021b56e842f83f
        SHAKE128 (USA):            70decc216ae807ed63e30f7c4561bb44033c59963cea41ec9465004dc2b583c5
        SM3 (China):               9db456b79c0754314de7d3974663391d8785a37d13dad22ff164cca98f2ab440
        STREEBOG 256 (Russia):     76e1330d21e7bdaeb5d5d00eb33bf11053f4278a4c718ae3cdbdcdd24a43814b
        Kupyna256 (Ukraine):       b4850a883b4e34257be46bb0605ad1d16544cd4b0ffca0048930983192712086
        LSH-256-256 (South Korea): c37c2fb8d85f1b5a57a9cd6b775402e19559b05e90c0369c8de1b3c9eb31c00a
        BLAKE3:                    90f0bbc538de173f77fb89ecfe906fba2a52e0ed5dae4f820a8cf7a1ba5194db
        KangarooTwelve:            e82d8ef022db26b868ed2fab32196239e3be69fc930f540d62c64b9499d8ef6e
        KECCAK256:                 54c634636b7ac30027fb591e02a400e44cf17c7c2ac780ac35f6d6f8d4dea389
    
    512 bit message digests (base64, no padding):
        SHA-512 (USA):             gyVwwPIwL9JhfwSPcZ6fvi881ExkwyAZowelavKRK8HFWXDZxqGtQL9fzRNC6jhv8rMoo8e+vrLPgzUbbhKXcg
        SHA3-512 (USA):            WmfTeFMgSqzvB4afk6ikgjBZ5hGpSgZA+hwf/rW3XOjKup2fqtp4KBSt5ke/hG0Rro+EpieugkET8aSRN6pMFg
        SHAKE256 (USA):            zLLb7xLwktLZN4Gh+RWHYMnsSwsIeWX+vYkmCBQ1TEAPCHhyY1KkrGrwvaidN2GpP99GcgHddBQJB1rh9svAng
        STREEBOG 512 (Russia):     YakI2Ii3agIf32VIy10klr7h2ALOVgcp7RDWBY9zVQ/T4YfL4E+5WeSdeofiv5LUuQ45KS8Ur9oTJRkc7WxdxQ
        KUPYNA-512 (Ukraine):      D8DScPI4/JY5M6kf8fFNPq/BaNK/4M/GrY73BaPg6IPzep3ZHk6KSTfRY67s8Y/1qhSqzmtZ+2qo7Rdb48QpsQ
        LSH-512-512 (South Korea): SLl2RZY8MeMkeCoe/ChSsxZbK9rYvN66Srb5eOvmgBuQWnMWRbZN0p2oSl5gq74lrsqMXDN3O/JLilxgrAvXbg
        BLAKE2b-512:               gZN5EXW6gnG1AGgJ5/jH8K73D4GhFn8UoygogC2SyZATrA3RHHMFad9H8SINgfrmWhEKFW7s3Av8/MJ3KjAJfw
        KECCAK512:                 WFx8DSWaKMwV0xEERaEjiSqRFso+uHNobvCbXWal6JFO/XyRwuk7S+efu2ErUtGEPeUadb6tBwrvIQkruWPxGA
        MarsupilamiFourteen:       r6GceNscBr2RpiIXd/b937Ir9frOuV1TlY+PB5xr1YXvzW67SbkJbCrKjL6/0cX4W+r0eM/HIBWgAI//6RWJew
        SKEIN-512-512:             9brqBRxgYJZ1eDkm4PXjZFiClby1MDW/YIropEbcza2+MdCybbaK5x7vaLD/2DSm0B836uu4Mg362+4bMTTZ3g
        WHIRLPOOL:                 YUxom/1TlCX3gSr7iJjGeTDIIppSQDJtpKBIh0hUOIZCg/ar4vMVA40LPw0HD5kMu/tvTvx7F8APQV7FoKpPug
    
    Source code(tar.gz)
    Source code(zip)
    jacksum-3.3.0.jar(1.09 MB)
    jacksum-3.3.0.zip(1.03 MB)
  • v3.2.0(Mar 5, 2022)

    • new features

      • the default parser takes option -s into account (GitHub issue #9)
      • added option --header
      • added --path-relative-to to print paths relative to another path (required for the File Browser Integration on Windows)
      • added --path-absolute to print absolute paths
      • added --no-path to omit the path
      • added encodings base64-nopadding, and base64url-nopadding
    • performance improvements

      • since Java 9+ supports a fast CRC32c, it became the primary implementation for crc32c
      • improved initial values for HashMap constructors
    • minor improvements (comfort)

      • added aliases rg32, rg-32, and rg64, rg-64 for radiogatun (GitHub issue #14)
      • added alias called --style for the option --compat
      • added alias --absolute for --path-absolute
      • added alias --relative-to for --path-relative-to
      • improved error handling for the algorithm parameter
      • reformatted help
    • bug fixes

      • fixed: on Linux during integrity checking, don't replace the back slash file separator for filenames, because on Linux it is allowed to have backslashes in filenames (GitHub issue #17)
      • fixed: wrong hashSize in GNU-Crypto's whirlpool 0-arguments constructor (and all whirlpool derived implementations) (GitHub issue #19)
      • fixed: -F "#HASH{}" and -F "#HASH{,}" does not work if just only one algorithm has been selected
      • fixed: typo in manpage (bitwidth for RIPEMD 320)

    reliable hash values of jacksum-3.2.0.jar (also included in jacksum-3.2.0.zip):

    File info:
        name:                      jacksum-3.2.0.jar
        size:                      1128706 bytes
    
    legacy message digests (avoid if possible):
        MD5 (128 bit):             4e7b376ff71d4850caf2106ee0ce3459
        SHA1 (160 bit):            f99d50ab479ab7f6ab8aa449fd256a872c855660
        RIPEMD-160 (160 bit):      022dcb91b62a152bbaabae328b14a360272cc729
        TIGER (192 bit):           1802ae6c730dd0b8c35d6d0803ba5afbfbde0a4bd607011a
    
    256 bit message digests (hex):
        SHA-256 (USA):             5be89a45b1f7ec87b609231a28e8a37aefc804911610119eaf5eadabc1308773
        SHA-512/256 (USA):         3ec37d342861476b36ea3ce172c31355c1a0606a8e029c9126fdb35522910e11
        SHA3-256 (USA):            7327c9165f872101bb297b41a35c1ca4381524f0f876a43c152fbc37585678d1
        SHAKE128 (USA):            07d689f810657cf841e3346c73043ef8b649b0554044a96aa0df57bf1315de16
        SM3 (China):               5c61d695da4860044d55a0aa886c12a7d978153a75bca748540b117c0f4b1e5d
        STREEBOG 256 (Russia):     5165ed7888734a4714be16cfcf1fcd282493246d7b33e712e56ec88922704e0f
        Kupyna256 (Ukraine):       0712a43e2083178716900e6465b743eddd51e90da658e5d8321887d682a2765e
        LSH-256-256 (South Korea): 53bc109093504f9dc6408f405411fe2938e1f479a747c39edcab87ad81887799
        BLAKE3:                    804a5b05d42cc8c3195c9647b3411d8a6d415e8ebd754f8bb481edeb076a1f9d
        KangarooTwelve:            4817fc35eb706c22eb9dec9c67e17c31bf09bf148c1a949e7a02896a48da43dc
        KECCAK256:                 335b9d20ae832fb62d74c38e8f84f4f99f80ac74d1fce304de878bbb8344a1cc
    
    512 bit message digests (base64, no padding):
        SHA-512 (USA):             orBNxGVijLzp0KoTtOmWpkwu8OqDjmDW3X4U9Yj7yIbj9WUa48PfVI2d1GbRkameJlsB0G68hQ1p108MX6KcnA
        SHA3-512 (USA):            DN573Pt5BBk4jw06GOwZa34aV2eBfksrgIM5RQnXa0HeElPfbeJ3uGk9QfhALlt7/K9jbJG6jviPcCQ1v9ULoQ
        SHAKE256 (USA):            i+eK75VyIEvSvesNJ6E3sIPgto5UA/m+kYdTgvg0FliLcD2MXBrw0KssDrgRKsokkNXDJ+SN85j17FaIs1e+Rw
        STREEBOG 512 (Russia):     ld2yInXcZkz3T07+A+el68bQ1JO6jqQO50sudThriu/ekTkuH/ayfL0Kct92/BuRBcMz1AnpNmNVI+18vuMBKA
        KUPYNA-512 (Ukraine):      S7rnQ9ukj7GeSB8pDlJIfMeQtT9NCTPZ0DOv5B4LhGrE2+1sG0bxC0V7PIsZx6z+pAUE0rMfBecXHerfha1tww
        LSH-512-512 (South Korea): vR41R0W+fVAhChqW9aiJnLIT4D1on54yAHALKrwCpgzqv+V3ASnL3802EQaqti6bu2JPmdJtqW3yRXRCg5lzVw
        BLAKE2b-512:               l+yLYNwFuA2g7/4TX79VKktgozTdLUeFOH8FtnYA6tqwN58G181OHZ4AcqELTiE5SAUINKwU48yXos0BU/U0uA
        KECCAK512:                 hU5xezzjOoI0Aic5p3Q34KB8ww6JjTOSGshTmVKP9mfD1lqKnJDGsgVVU0IdzYwlZ/agy5DdGY5e0z4qVYGxUQ
        MarsupilamiFourteen:       nQSGGpt3eOK9hji3KbSMhkMq+YFm5dRU9z9Z+gziax4aif67PE7e2BEJ6EMjGUJfSvGOn8GeLWxkzUyuEux/rA
        SKEIN-512-512:             LoUT/XriQ+bnjv4offW2EregxiVGvNlTjIakLQZXlQWmVE9oDrDgiG1av67Fpuj/8P2r4uXkVIqrCVQGiPQsFQ
        WHIRLPOOL:                 nMec4piT+o4xUYadH6qYpkS8ZyBIgje3/4iy6f9S8filo/j3KcUzcx5C87Cw/L5JmYseEMJuAFt6MapAoXjccg
    
    
    Source code(tar.gz)
    Source code(zip)
    jacksum-3.2.0-javadoc.jar(3.68 MB)
    jacksum-3.2.0.jar(1.07 MB)
    jacksum-3.2.0.zip(1.01 MB)
  • v3.1.0(Nov 1, 2021)

    • new features

      • allow Jacksum to read from all Windows files types on Microsoft Windows including disks, partitions, RAM disks, the nul-device, and NTFS Alternate Data Streams (ADS) on both files and directories
      • allow Jacksum to read from all file types on Unix-like operating systems including block devices, character devices, named pipes (FIFOs), sockets, and doors (Solaris only)
      • added option called --scan-ntfs-ads to let Jacksum scan for NTFS Alternate Data Streams (ADS) during recursively directory traversal on Microsoft Windows
      • added option called --scan-all-unix-file-types to let Jacksum scan for all Unix file types
      • added option called --bom for adding a Byte-Order Mark (BOM) to the output if a charset has been specified where a BOM is optional (charsets GB18030, UTF-8, UTF-16BE, UTF-16LE, UTF-32LE, and UTF-32BE)
      • added option -q file: (GitHub issue #12)
      • added z-base-32 encoding for hash value representation
    • minor improvements

      • improved check mode statistics: added number of improperly lines, and number of ignored lines
      • improved the style of the short help to see everything even on terminals with 24-rows
      • improved the manpage: added the hash function tools that are supported by BusyBox
    • minor bug fixes

      • fixed: don't follow symlinks to block devices, character devices, named pipes, sockets, or doors if -f (regular files only) has been set.
      • fixed: duplicate filenames in the checkfile leads to a misleading output, the latest duplicate filename in a checkfile should win, and all previous duplicate filenames should be ignored
      • fixed the manpage: PowerShell applet Get-FileHash has also RIPEMD160

    reliable hash values of jacksum-3.1.0.jar (also included in jacksum-3.1.0.zip):

    SHA256:               dbd38b3c208ddb28146635a467d0156847a96b31b02394ea3505b2dcabff4746
    SHA3-256:             50928a1b3b0e828ce1d632acdbbf4c2e96ffa7de94ed787c09cabcf190716ffb
    SHAKE128:             18e346db2516c4547240ac747fb465ac41ca686feeb92b95b73efce864912b92
    BLAKE3:               7fa71a2b3a7598760f8ff76a66f2b04a78101a2c75c765fc274f0ae1e128b037
    BLAKE2b-512 (base64): +U9PtD1NrfDvx5WjeylaAL80SxA1AwOhMGs0KxjzzJgFFCX8Cs9RZG0nzKAu56U0lCEAwUGY6fcMIrtaE7zJuQ==
    SHA3-512 (base64):    MMgTENY3SrM1kmdZz2a1SoYRxs1no4YWvwsrgUEuejZYdl+4vuguvcnNSKaHpk5gBUU+9sDcn//mjBa2Tfa3sg==
    SHAKE256 (base64):    fEXBM72SvvsdZ/a3TIdbv06X7bHHrIv/5myUZHQkSj8I0izYVDvzQBUEIhxQTFFAYg1JYTvwHh7ZFBH5m1NvzA==
    
    Source code(tar.gz)
    Source code(zip)
    jacksum-3.1.0-javadoc.jar(3.64 MB)
    jacksum-3.1.0.zip(1.00 MB)
  • v3.0.1(Oct 3, 2021)

    • added minor features

      • added algorithm aliases crc32_jamcrc and crc-32_jamcrc for crc32_ubi
      • added algo aliases sha512t224, sha512t256, skein256, skein512, and skein1024
      • added compat aliases called linux-tagged and linux-untagged (for bsd and linux)
      • added compat files called solaris-tagged and solaris-untagged
      • added format aliases #ALGONAME{lowercase} and #ALGONAME{<i>,lowercase}
    • improved build-in help

      • 'jacksum -h parameters', 'jacksum -h options', and 'jacksum -h algorithms' show the corresponding section entirely
      • fixed: jacksum -h examples shows only the first 3 example sections, it should show all example sections
      • added info to the manpage about "cksum -a " which exists starting with the GNU Core Utilities 9.0
      • added KeccakSum compatibility info to the help file
      • fixed some typos in the help file
    • bugs fixed

      • fixed: regression: files that have been specified by -o,-O and -u,-U are hashed, but they shouldn't
      • fixed: if both errorFile and outputFile are set to the same file, their paths must be normalized before comparisons
      • fixed: a NPE is thrown if a non-compatibility file is given by option -C
      • fixed: the syntax version of the compatibility files should be checked before processing
      • fixed: compat files bsd, linux, and openssl should use line separator \n on Microsoft Windows, otherwise md5sum, sha1sum, etc. on GNU/Linux cannot read Jacksum's output
      • fixed: typo in compat files linux and openssl which results in wrong stdin names
      • fixed: Jacksum does not print 100% compatible output by using tagged compat files (bsd, and openssl)
      • fixed: Jacksum does not parse 100% compatible output by using tagged compat files (bsd, and openssl)
      • fixed: speed rank info is calculated wrongly (check with jacksum -a all --list --info)
      • fixed: formats #HASH{0,<encoding>} and #CHECKSUM{i,<encoding>} don't work if the user has selected one algorithm only
      • fixed: crc32c can be used normal, but it is missing in the --list output
      • fixed: remove the lab-remnant hex-camelcase from the code
      • fixed: a potential mem leak in the Blake3 implementation
      • fixed: don't print a warning about implicitly set format if we have set -C and we are in check mode

    reliable hash values of jacksum-3.0.1.jar (also included in jacksum-3.0.1-executable.zip):

    SHA256:               88949a34a0f1302e776c8d70937bb8bb2a856178bb1691ef75aff24bc4eac06b
    SHA3-256:             5f73ec467fb0cda351057835de10b26515f326d0807687663d61a78bc9aa0a3d
    SHAKE128:             57d6b49686006ab0ee7ed78693bc9cd77d49da8c914e4d3adc62eef6d42d394e
    BLAKE3:               122a50f45da98abfbbb9ff15502a536f1e08cc230f6bef6e9d7e550fa53bbc89
    BLAKE2b-512 (base64): NDqIGkuPxLqpTQRH5mi8SLcWU6QChPZj3boXPHT2BE76l2JLI6N/qFg1XQLILGiz8C536L+cFIB1N/VnBq+ltA==
    SHA3-512 (base64):    c6xLEDw4x6ii69yxLcjZkN27gWBUDWBcvlodhILbjxWqe1l9SxYhgsd+xbXD73r18ZAZNJleJd59hq4eMwuKRw==
    SHAKE256 (base64):    spCQ2HBeD5gZNNYLgd304QagZAfrnZdnVSg85yquzWSelzqnoVWTkTY8MwrNVr5CXOfNy0xHL0uhihJdx0x9HQ==
    
    Source code(tar.gz)
    Source code(zip)
    jacksum-3.0.1-executable.zip(1014.62 KB)
    jacksum-3.0.1-javadoc.jar(3.63 MB)
    jacksum-3.0.1-sources.jar(1000.74 KB)
    jacksum-3.0.1.jar(1.05 MB)
  • v3.0.0(Sep 4, 2021)

Owner
Johann N. Löfflmann
I type stuff into computers to make them do cool things.✌️ Former Sun Microsystems and Oracle principal engineer.
Johann N. Löfflmann
A command-line tool to securely encrypt passwords and notes using AES encryption.

Treasury A command-line tool to securely encrypt passwords and notes using AES encryption. Installation Usage Technology Built solely in Java Picocli

Kai 4 Oct 17, 2022
log4j2-scan is a single binary command-line tool for CVE-2021-44228 vulnerability scanning and mitigation patch

log4j2-scan is a single binary command-line tool for CVE-2021-44228 vulnerability scanning and mitigation patch. It also supports nested JAR file scan

Logpresso GitHub 839 Dec 29, 2022
Multi-platform transparent client-side encryption of your files in the cloud

Supporting Cryptomator Cryptomator is provided free of charge as an open-source project despite the high development effort and is therefore dependent

Cryptomator 8.7k Jan 5, 2023
evilzip lets you create a zip file(with password) that contains files with directory traversal characters in their embedded path.

evilzip logs 20210701 修改权限问题,让解压后的文件默认就有读写执行的权限。 About evilzip lets you create a zip file(with password) that contains files with directory traversal

鸭王 87 Dec 11, 2022
This App is a command line application, based on Cryptography.

This App is a command line application, based on Cryptography. where a user input a text and its encrypted and can be decrypted as well.

Mohamed Ibrahim 1 Jan 28, 2022
Trino UDFs Plugin to encrypt/decrypt values with a password

trino-encrypt-udfs Example of Trino UDFs Plugin to encrypt and decrypt values with a password. Introduction In Trino you can create new Plugins by imp

Victor Coustenoble 10 Dec 13, 2022
FastKV is an efficient and reliable key-value storage component written with Java.

FastKV 中文文档 FastKV is an efficient and reliable key-value storage component written with Java. It can be used on platforms with JVM environment, such

Billy Wei 274 Dec 28, 2022
Password4j is a user-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various cryptographic hash functions.

Password4j is a Java user-friendly cryptographic library for hashing and checking passwords with different Key derivation functions (KDFs) and Cryptog

Password4J 246 Jan 5, 2023
Java Project based on Java and Encryption using Cryptography algorithms

Symmetric-Encryption-Cryptography-in-Java Java Project based on Java and Encryption using Cryptography algorithms Project Aim Develop Java program to

Muhammad Asad 6 Feb 3, 2022
Security engine for Java (authentication, authorization, multi frameworks): OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...

pac4j is an easy and powerful security engine for Java to authenticate users, get their profiles and manage authorizations in order to secure web appl

PAC4J 2.2k Dec 30, 2022
Open Source Identity and Access Management For Modern Applications and Services

Keycloak Keycloak is an Open Source Identity and Access Management solution for modern Applications and Services. This repository contains the source

Keycloak 14.6k Jan 5, 2023
JAP is an open source authentication middleware, it is highly decoupled from business code and has good modularity and flexiblity. Developers could integrate JAP into web applications effortlessly.

?? JAP 是什么? JAP 是一款开源的登录中间件,基于模块化设计,并且与业务高度解耦,使用起来非常灵活,开发者可以毫不费力地将 JAP 集

Fujie 140 Dec 1, 2022
Are you suffering from forgetting to do HoYoLAB check-in? Use this and be free from it!

GADC 가득 Auto Daily Check-in for Genshin Impact Are you suffering from forgetting to do HoYoLAB check-in? Use this and be free from it! 원신 일일 출첵 매일 까먹으

ForestHouse 2 Jul 11, 2022
MARIOCASH: a trust-based multi-dimensional blockchains (branches)

MARIOCASH is a trust-based multi-dimensional blockchains (branches) built with a vision to “Digitize everything into reality” and to connect everything and any blockchain networks.

Brantley·Williams 23 Mar 10, 2022
Unofficial Clubhouse web app client. For personal use only. It's a personal open-source project and not affiliated with any company.

Purpose of this web app That's a personal project and not affiliated with any company. This is the web client app to make your Club House experience b

Sergei Ovchinnikov 45 Nov 15, 2022
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

Themis provides strong, usable cryptography for busy people General purpose cryptographic library for storage and messaging for iOS (Swift, Obj-C), An

Cossack Labs 1.6k Dec 29, 2022
Example Java Cryptographic License Files

Example of verifying cryptographically signed and encrypted license files using Java, Bouncy Castle, Ed25519 and AES-256-GCM

Keygen 1 Apr 1, 2022
Log4shell-hunter - Scanner that scans local files for log4shell vulnerability

Log4shell-hunter - Scanner that scans local files for log4shell vulnerability. Does bytecode analysis so it does not rely on metadata. Will find vulnerable log4j even it has been self-compiled/repackaged/shaded/nested (e.g. uberjar, fatjar) and even obfuscated.

Peter Fichtner 5 Feb 27, 2022
Toloka has a powerful open API, it allows you to integrate an on-demand workforce directly into your processes, and to build scalable and fully automated human-in-the-loop ML pipelines.

Toloka Java SDK Documentation Website | API Documentation | Platform Designed by engineers for engineers, Toloka lets you integrate an on-demand workf

Toloka 10 Apr 27, 2022