Programmeigenschaften

 

Wirklich freie Software
OSI certified


Umfassende Unterstützng von Algorithmen
  • Jacksum supports 477 algorithms including
  • National standards of cryptographic hash functions: SHA-1, SHA-[224,256,384,512], SHA-512/[224,256] (USA, NIST FIPS 180-4); SHA3-[224,256,384,512], SHAKE[128,256] (USA (NIST FIPS 202); GOST, GOST Crypto-Pro (Russia, GOST R 34.11-94); Streebog-[256,512] (Russia, GOST R 34.11-2012); SM3 (China); Kupyna[256,384,512] (Ukraine, DSTU 7564:2014); LSH-256-[224,256], LSH-512-[224,256,384,512] (South Korea, KS X 3262); HAS-160 (KISA, South Korea)
  • All 5 candidates from round 3 the NIST SHA-3 competition (2007-2012): BLAKE-[224,256,348,512], Groestl-[224,256,384,512], JH[224,256,284,512], Keccak[224,256,384,512], Skein-256-[8..256], Skein-512-[8..512], Skein-1024-[8..1024]
  • 3 candidates from round 2 of the NIST SHA-3 competition (2007-2012): ECHO-[224,256,348,512], Fugue-[224,256,348,512], Luffa-[224,256,348,512]
  • Proposals from the 2005 NIST workshops before the SHA-3 competition: DHA-256, FORK-256, VSH-1024
  • International accepted, modern strong cryptographic hash functions: BLAKE2s-[8..256], BLAKE2b-[8..512], BLAKE3, ed2k, HAVAL-[160,192,224,256]-[3,4,5], RadioGatun[32,64], RIPEMD[160,256,320], Tiger2, PHP's variants on Tiger called "tiger192,4", "tiger160,4", and "tiger128,4", Whirlpool
  • eXtendable Output Functions (XOF) as cryptographic hash functions with a fixed length: SHAKE128, SHAKE256, KangarooTwelve, MarsupilamiFourteen
  • Broken cryptographic hash functions for education and backwards compatibility purposes: HAVAL-128-[3,4,5], MD2, MD4, MD5, MDC2, PANAMA, RIPEMD-128, SHA-0, SHA-1, Tiger, Tiger/128, Tiger/160, Whirpool-0, Whirlpool-T
  • Checksums that can be found in software products and operating systems: Adler-32, cksum (Minix), cksum (Unix), ELF (Unix), Fletcher's Checksum, FNV-0_[32,64,128,256,512,1024], FNV-1_[32,64,128,256,512,1024], FNV-1a_[32,64,128,256,512,1024], joaat, sum (BSD Unix), sum (Minix), sum (System V Unix), sum [8,16,24,32,40,48,56,64], xor8, XXH32
  • CRCs that are being used in many software products and protocols: 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), CRC-82 (DARC)
Multi-Core/Multi Processor Support
  • Process hash calculation and hash verification simultaneously in multi-processor/multi core environments
  • Works well if you have many cores, and many hundreds, thousands or millions of files to process and/or
  • Works well if you have selected more than one algorithm


Algorithm Selection

  • Select one, many, or all algorithms for hash calculation and verification
  • Select algorithms manually, filter them by name or message digest width
  • Use any of the predefined CRC
  • Customize your own CRC from 1 to 64 bit width, because Jacksum supports the "Rocksoft (tm) Model CRC Algorithm", and an extended model of it
  • Algorithms can be concatenated in order to calculate many algorithms in one pass

I/O Related Features

  • Calculate hashes from files, stdin, file lists or command line argument values
  • Process directories recursively, and limit the depth
  • Jacksum detects file system cycles for you and it bypasses those in order to avoid endless loops
  • It is aware of special files like FIFOs, and symlinks on Linux/Unix and system folders on Windows
  • Control how to handle symbolic links on files and/or directories
  • Unicode file name support
  • Specify the character set for both input and output: GB18030, UTF-8, UTF-16, UTF-16BE, UTF-16LE, UTF-32, UTF-32BE, UTF-32LE, etc.
  • It is large file aware, it can process filesizes up to 8 Exabytes (= 8,000,000,000 Gigabytes), presupposed your operating system respectively your file system is large file aware, too.

Format Output Features

  • By default, the output is 100% compatible to Unix-standard tools such as sum, cksum, md5sum and sha1sum, b2sum, etc.
  • Use comprehensive format options to get the output you need
  • Specify one of the supported encodings for the hash values: bin, dec, oct, hex lowercase, hex uppercase, base16, base32, base32-nopadding, base32hex, base32hex-nopadding, base64, base64url, bubblebabble, etc.
  • Create and use your own customized, user-defined output format and create ed2k-links, magnet-links, or patch the Solaris pkgmap format for instance

Integrity Verification Features

  • Include not only the hash, but also the file size and/or file modification timestamp of files for performing reliable integrity checks
  • Perform integrity checks, and detect ok, failed, missing, and new files
  • Use predefined compatibility files to read and write popular 3rd party format styles (GNU/Linux, BSD, SFV, FCIV, openssl, etc.)
  • Create and use your own compatibility files

Find Objects with Jacksum

  • Find the algorithm that was used to calculate a checksum/CRC/hash
  • Find all files that match a given hash value (find duplicates of a file)
  • Find all files that do not match a given hash value
Multi-Platform Support
  • Jacksum is cross platform (100 % Java), so you can run it on all common operating systems, such as:
  • Microsoft Windows 10,
  • GNU/Linux (e.g Ubuntu),
  • Unix (e.g. macOS) or
  • any other operating system with a Java Runtime Environment (JRE) or Java Development Kit (JDK).
Interaction with other Tools
  • Works with the SendTo-feature on many file browsers (e. g. macOS Finder, Microsoft Windows Explorer, Gnome Nautilus, KDE Konqueror, ROX Filer, etc.)
  • As it has a command line interface, Jacksum can be used in cronjobs and autostart environments
  • Jacksum returns an exit status which is dependent on the result of the calculation/verification process, so you can use Jacksum in scripts and batches and control the code flow in your own scripts
  • Use predefined compatibility files to read and write popular 3rd party format styles in order to interact with other tools (GNU/Linux, BSD, SFV, FCIV, openssl, etc.)

Other

  • The program is mature and very stable
  • Specify your preferred level of verbosity
  • Obtain details for each algorithm, including comprehensive compatibility lists
Developer support
  • Entire source code has been opened, is hosted on GitHub, and accessible using git
  • The project has been mavenized with a pom.xml which makes it easy to work in your preferred IDE
  • Jacksum provides an API, so you can incorporate Jacksum in your own projects
  • Javadoc is available
  • Jacksum keeps compatibility with JDK 11, but takes all the advantages of  JDK 11+ if available