What is Jacksum?
Jacksum is a free and platform independent software for computing and verifying checksums, CRCs and message digests (known as hash values and fingerprints). "Jacksum" is a synthetic word made of JAva and ChecKSUM.

Jacksum supports 58 popular standard algorithms (Adler32, BSD sum, Bzip2's CRC-32, POSIX cksum, CRC-8, CRC-16, CRC-24, CRC-32 (FCS-32), CRC-64, ELF-32, eMule/eDonkey, FCS-16, GOST R 34.11-94, HAS-160, HAVAL (3/4/5 passes, 128/160/192/224/256 bits), MD2, MD4, MD5, MPEG-2's CRC-32, RIPEMD-128, RIPEMD-160, RIPEMD-256, RIPEMD-320, SHA-0, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, Tiger-128, Tiger-160, Tiger, Tiger2, Tiger Tree Hash, Tiger2 Tree Hash, Unix System V sum, sum8, sum16, sum24, sum32, Whirlpool-0, Whirlpool-1, Whirlpool and xor8). Jacksum supports the "Rocksoft (tm) Model CRC Algorithm", it can calculate customized CRC algorithms. With that feature you can apply additionally more than 1.0399*10^267 potential CRC algorithms using Jacksum. Jacksum supports the combination of multiple algorithms.

With Jacksum you can check if a filetransfer was successful. If you download software or large files, like CD-, DVD-images, .iso-files from the internet, often there is a checksum or a hashcode provided. With Jacksum you can calculate such a checksum or hashcode from your local copy. If both checksequences are identical you know that the filetransfer was successful. Since Jacksum reads each byte of a file, you can check what files are still fully readable on your media. Jacksum supports recursiv file processing, you can compare two directory trees. Therefore you will be able to verify, if your copies or backups are identical with the original source, even if you don't have access to both trees at the same time (compare two DVDs with just one drive for example).

Jacksum supports a platform independent and compatible file format, it helps you to verify data integrity of burned data on CD-ROMs or DVDs even after many years and even if you will have changed your Operating System.

Features
  • Supports 58 popular checksum algorithms including strong one-way-hash algorithms (Adler32, BSD sum, POSIX cksum, Bzip2's CRC-32, CRC-8, CRC-16, CRC-24, CRC-32 (FCS-32), CRC-64, ELF-32, eMule/eDonkey, FCS-16, GOST, HAS-160, HAVAL (3/4/5 passes, 128/160/192/224/256 bits), MD2, MD4, MD5, MPEG-2's CRC-32, RIPEMD-128, RIPEMD-160, RIPEMD-256, RIPEMD-320, SHA-0, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, Tiger-128, Tiger-160, Tiger, Tiger2, Tiger Tree Hash, Tiger2 Tree Hash, Unix System V sum, sum8, sum16, sum24, sum32, Whirlpool-0, Whirlpool-1, Whirlpool and xor8)
  • It can calculate customized CRC algorithms and it also supports the combination of multiple algorithms
  • Fully customized output is supported
  • It can calculate checksums, CRCs and hashes on both files and user input sequences (text, hexadecimal and decimal)
  • The program is mature and very stable
  • Algorithms are very fast (go ahead, and compare Jacksum's performance with similar tools)
  • Recursively file processing is supported (it operates not only on files from a specific directory, but also on files from all subdirectories of the specified directory)
  • It can verify both the content and timestamp of files
  • It helps you to find duplicates by knowing just only the checksum of a file

System requirements
  • Java version 1.4.2_05 (InnoTek OS/2 Kit for Java)
  • Java version 1.6.0 (tested with version 1.6.0ga5)


Jacksum on an eComStation machine with Open JDK


Installing Jacksum
Download jacksum-1.7.0.zip. Make a directory/map with the name "jacksum" or something you like. Open de zip file and copy the file "jacksum.jar" to the new created directory/map. You don't need the other stuff. That's it!

The used cmd file
Jacksum works with Open JDK in OS/2-eCS. I have a "jacksum.cmd" file with the following contents;
@echo off
SET BEGINLIBPATH=[drive: java]\JAVA160ga5\bin
SET path=[drive: java]\JAVA160ga5\bin
[drive: jacksum]
cd [drive: jacksum]\jacksum
java -jar jacksum.jar -a sha1+crc32+md5 -s "\n" -F "#SEPARATOR#ALGONAME{i} #SEPARATOR#CHECKSUM{i}
#SEPARATOR(#FILENAME)" %1 2>jacksum-bugs.txt
The line "java -jar..." is one line, I had to break it up in two parts just for this page. Mind the space between "#SEPARATOR#CHECKSUM{i}" and "#SEPARATOR(#FILENAME)". I use 2 separate folders (directories), one for Java and one for Jacksum with the files created by this program. The references used in the cmd file;

  • [drive: java] = drive with Java
  • [drive: jacksum] = drive with Jacksum

should be replaced with real drive letters. Save the file and name it "jacksum.cmd" or use the file from the distribution. This file is copied to the "jacksum" directory/map. Furthermore, different paths?, adjust according to your needs.
Create a new program object. Specify the path and file name: "[drive: jacksum]\jacksum\jacksum.cmd". In the tabpage Session check the boxes "OS/2 window", "Running as an icon" and "Close Window to end program". In the tabpage General you can enter the name "Jacksum". I have added an OS/2 icon in the distribution.

Parameters / options explained
  • All the stuff behind "jacksum.jar" comes from the manual. You can find it on the manpage or in the distribution below as a text file.
  • The addition of "%1" is needed as this program is a so called CLI from command line interface. The "%1" should be replaced with a drive, directory, file, see the picture for my call. This program shouts for a REXX program, but can be used in other programs. The setup in the "jacksum.cmd" file uses much used checksums. Read the manual carefully.
  • The addition "2>jacksum-bugs.txt" ensures that errors are saved in the file "jacksum-bugs.txt". The 2 in "2>" is not a typo! The file stays empty on my system.

Download
In the file you can find the above command file (all drive letters are on set to C:), a manual and an OS/2 Jacksum icon: jacksum-os2.zip.

revision July 10, 2020