Input
Your own parameters
The six numbers of the Rocksoft model. A datasheet that describes a CRC describes exactly these, usually in this order, and often under no name at all.
Result
—
check over “123456789”
—
Every published CRC states this one value. If it equals the check in your datasheet, the six numbers above really are the algorithm that document means — before you trust the result on the left.
Every named CRC
One input, 113 published algorithms, all computed at once. Find the row whose result matches the checksum you are holding and you have found your algorithm.
0 algorithms
No algorithm matches that filter.
Work backwards from a checksum
You have a frame and the checksum it carries, and nobody wrote down which CRC produced it. Put the frame in the input above, the checksum here, and let the search answer it.
The value the device or the file actually carries for the bytes above.
Matches: 0
Past the 113 published models, the search tries every 8-bit and then every 16-bit polynomial, with init and xorout each all-zeroes or all-ones and both reflection settings. Widths above 16 are not brute-forced: four billion polynomials is not a search a browser tab finishes.
Non-CRC checksums
Not every trailing byte is a CRC. These eight are what the other half of the protocols in the world actually use, and they are computed over the same input.
| Checksum | Hex | Decimal |
|---|---|---|
| sum8Bytes added up, kept to 8 bits. | — | — |
| sum16Bytes added up, kept to 16 bits. | — | — |
| xor8Every byte XORed together — the LRC of Modbus ASCII and of NMEA. | — | — |
| fletcher16Two running sums mod 255, so reordering changes the answer. | — | — |
| fletcher32The same idea over 16-bit little-endian words, mod 65535. | — | — |
| adler32Fletcher's cousin, mod 65521 — the trailer on every zlib stream. | — | — |
| internetChecksumRFC 1071: the one's complement of the one's complement sum of 16-bit big-endian words. IP, UDP and TCP headers. | — | — |
| bsdChecksumRotate right, then add — what BSD sum(1) prints. | — | — |
NMEA 0183 sentence
Checksum—
XOR of every character between the leading $ or ! and the *. This one takes the sentence rather than the bytes above, because that is how the standard defines it.