Sortix volatile manual
This manual documents Sortix volatile, a development build that has not been officially released. You can instead view this document in the latest official manual.
| CHECKSUM(1) | General Commands Manual | CHECKSUM(1) | 
NAME
checksum,
    sha224sum, sha256sum,
    sha384sum, sha512sum
    — compute and check cryptographic hashes
SYNOPSIS
| checksum | [ -ciqs]-aalgorithm [-Cchecklist] [file ...] | 
| sha224sum | [ -ciqs] [-Cchecklist] [--cachecache] [--cachecache] [file ...] | 
| sha256sum | [ -ciqs] [-Cchecklist] [--cachecache] [file ...] | 
| sha384sum | [ -ciqs] [-Cchecklist] [--cachecache] [file ...] | 
| sha512sum | [ -ciqs] [-Cchecklist] [--cachecache] [file ...] | 
DESCRIPTION
checksum is used to check the
    cryptographic integrity of files by calculating their cryptographic hashes
    and later check the files retain the same hash, thus guaranteeing it would
    be vanishingly unlikely the files have been modified unless the
    cryptographic hash algorithm has been broken.
checksum uses the requested cryptographic
    hash algorithm to calculate the hashes of the input
    files, or the standard input if no files are specified. The standard input
    can be specified using the ‘-’ path.
checksum writes a checklist of the inputs'
    hashes that can later be checked using the -c or
    -C options. Checklists have a line for each file
    consisting of its checksum (the cryptographic hash) in lowercase hexadecimal
    followed by two spaces and the file's path (‘-’ in case of the
    standard input).
If the -c or -C
    options are set, checksum instead checks the files.
    It writes a line for each file containing its path followed by a colon and a
    space, and ‘OK’ if the file's hash matched the checksum or
    ‘FAILED’ if it did not. After each checklist has been
    processed, a diagnostic is written to the standard error with how many files
    couldn't be read (if any couldn't be read), and a diagnostic is written to
    the standard error with how many checksums didn't match (if any didn't
    match).
The options are as follows:
- -a,- --algorithm=algorithm
- Use the case-insensitive cryptographic hash
      algorithm:
    - SHA224
- SHA256
- SHA384
- SHA512/256
- SHA512
 The algorithm is set by default if checksumis invoked by thesha224sum,sha256sum,sha384sum, orsha512sumnames.
- --cachecache
- Cache the checksums in the cache file for fast
      answers on subsequent invocations, unless the input file is newer than the
      cache file. If -cor-C, only use the cached checksums if they are the desired answer, otherwise recheck the input file to be safe.
- -c,- --check
- Each input is interpreted as a checklist of files to be checked.
- -C,- --checklist=checklist
- Check the inputs using the checklist file (‘-’ for the standard input). This option is useful for checking a subset of files in a checklist.
- -i,- --ignore-missing
- Ignore non-existent files when checking.
- -q,- --quiet
- Only mention files with the wrong hash when checking.
- -s,- --status
- Don't mention any files when checking and only provide the exit status.
EXIT STATUS
If -c or -C are
    set, checksum will exit 1 if any error occurred or
    the checklist was malformed; and otherwise exit 2 if any files had the wrong
    hash, and exit 0 if all files passed the check.
Otherwise checksum will exit 0 if all
    files were hashed, or exit 1 if an error occurred.
EXAMPLES
Compute the SHA256 hash of a file:
$ sha256sum foo b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c foo
Check the SHA256 hash of a file:
$ sha256sum foo > foo.sha256sum $ sha256sum -c foo.sha256sum foo: OK
Check every file in a checklist and only mention failures:
$ echo foo > foo $ echo bar > bar $ sha256sum foo bar > checklist $ sha256sum -cq checklist $ echo foo > bar $ sha256sum -cq checklist bar: FAILED sha256sum: WARNING: 1 computed checksum did NOT match
Check the hash of only some files in a checklist:
$ sha256sum foo bar qux > checklist $ sha256sum -C checklist foo qux foo: OK qux: OK
Check the standard input is expected:
$ sha256sum < reference > checklist $ sha256sum -C checklist < input -: OK
SEE ALSO
HISTORY
checksum originally appeared in Sortix
    1.1.
checksum is similar to a subset of GNU
    sha256sum, mixed with the BSD
    -a and -C extensions to
    POSIX cksum. The -iqs short
    options are extensions to GNU sha256sum, which only
    provides these features through the long options.
    checksum is always strict and errors on malformed
    checklists unlike GNU sha256sum.
CAVEATS
Insecure cryptographic hash algorithms such as MD5 and SHA1 are not implemented.
checksum does not have the
    -b and -t options from GNU
    sha256sum to select binary/text mode. The text mode being default is poor
    design but only matters on some implementations for Windows. This
    implementation removes that complexity and always operates in binary mode.
    The double space checklist delimiter is used for simplicity and
    compatibility as all sensible implementations are always in binary mode by
    default. The space asterisk checklist delimiter to explicitly request binary
    mode is not supported for simplicity.
| Sepember 27, 2020 | Sortix 1.1.0-dev | 
