Algorithms

CRC-64

The ECMA-182 CRC that xz writes after every block unless you ask for another check
IDcrc6433 / 46CRC · 64-bit
Hash / Non-cryptographic

CRC-64

Eight bytes after every xz block.

Digest
64-bit · 8 bytes
HMAC
no key mode
Security
NOT for security: error-detection checksum only
Family
4 in CRC
4 options, 0 required

Sample

hex
53037ecdef2352da
base64
UwN+ze8jUto=

Options

encodingstring
default hex
Output encoding: hex, base64, base64url, binary
variantstring
default xz
Which CRC-64: xz, ECMA-182 reflected
roundsnumber
default 1
How many times to hash, each round hashing the previous digest
chainstring
default bytes
What each round after the first hashes: bytes of the digest, or its lowercase hex

Access

Createcreate("crc64")
CLIhashes crc64 'hello world'
Tryplayground with the sample above
Kincrc32, crc24, crc16-xmodem

The 64-bit CRC from ECMA-182, reflected, starting and finishing with all ones. xz picks it by default for the check after each block, and xz -C crc64 asks for it by name. The catalogue calls it CRC-64/XZ, or CRC-64/GO-ECMA.

ts
create("crc64").hash("123456789").digest; // "995dc9bbdf1939fa", the standard check value
crc64(bytes, "xz"); // the byte function, same thing

variant has one value so far, xz. It's there so the next CRC-64 lands as a value, not as another algorithm. Printed big-endian, as the catalogue writes check values. xz stores the eight bytes little-endian, so the end of a .xz block reads backwards from this.