summaryrefslogtreecommitdiffstats
path: root/src/xxHash/xxhsum.1.md
blob: 426ceef2c6d8fa0a59c24de505d9d928dfe662fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
xxhsum(1) -- print or check xxHash non-cryptographic checksums
==============================================================

SYNOPSIS
--------

`xxhsum` [<OPTION>] ... [<FILE>] ...<br/>
`xxhsum -b` [<OPTION>] ...

DESCRIPTION
-----------

Print or check xxHash (32 or 64bit) checksums.  When <FILE> is `-`, read
standard input.

`xxhsum` supports a command line syntax similar but not indentical to
md5sum(1).  Differences are: `xxhsum` doesn't have text/binary mode switch
(`-b`, `-t`);  `xxhsum` always treats file as binary file;  `xxhsum` has hash
bit width switch (`-H`);

Since xxHash is non-cryptographic checksum algorithm, `xxhsum` should not be
used any more for security related purposes.

`xxhsum -b` invokes benchmark mode. See [OPTIONS](#OPTIONS) and [EXAMPLES](#EXAMPLES) for details.

OPTIONS
-------

* `-c`, `--check`:
  Read xxHash sums from the <FILE>s and check them

* `-h`, `--help`:
  Display help and exit

* `-H`<HASHTYPE>:
  Hash selection.  <HASHTYPE> means `0`=32bits, `1`=64bits.
  Default value is `1` (64bits)

* `--little-endian`:
  Set output hexadecimal checksum value as little endian convention.
  By default, value is displayed as big endian

* `-V`, `--version`:
  Display xxhsum version

**The following four options are useful only when verifying checksums (`-c`)**

* `--quiet`:
  Exit non-zero for improperly formatted checksum lines

* `--strict`:
  Don't print OK for each successfully verified file

* `--status`:
  Don't output anything, status code shows success

* `-w`, `--warn`:
  Warn about improperly formatted checksum lines

**The following options are useful only benchmark purpose**

* `-b`:
  Benchmark mode.  See [EXAMPLES](#EXAMPLES) for details.

* `-B`<BLOCKSIZE>:
  Only useful for benchmark mode (`-b`). See [EXAMPLES](#EXAMPLES) for details.
  <BLOCKSIZE> specifies benchmark mode's test data block size in bytes.
  Default value is 102400

* `-i`<ITERATIONS>:
  Only useful for benchmark mode (`-b`). See [EXAMPLES](#EXAMPLES) for details.
  <ITERATIONS> specifies number of iterations in benchmark. Single iteration
  takes at least 2500 milliseconds. Default value is 3

EXIT STATUS
-----------

`xxhsum` exit `0` on success, `1` if at least one file couldn't be read or
doesn't have the same checksum as the `-c` option.

EXAMPLES
--------

Output xxHash (64bit) checksum values of specific files to standard output

    $ xxhsum -H1 foo bar baz

Output xxHash (32bit and 64bit) checksum values of specific files to standard
output, and redirect it to `xyz.xxh32` and `qux.xxh64`

    $ xxhsum -H0 foo bar baz > xyz.xxh32
    $ xxhsum -H1 foo bar baz > qux.xxh64

Read xxHash sums from specific files and check them

    $ xxhsum -c xyz.xxh32 qux.xxh64

Benchmark xxHash algorithm for 16384 bytes data in 10 times. `xxhsum`
benchmarks xxHash algorithm for 32-bit and 64-bit and output results to
standard output.  First column means algorithm, second column is source data
size in bytes, last column means hash generation speed in mega-bytes per
seconds.

    $ xxhsum -b -i10 -B16384

BUGS
----

Report bugs at: https://github.com/Cyan4973/xxHash/issues/

AUTHOR
------

Yann Collet

SEE ALSO
--------

md5sum(1)