# CRC-8 Checksum

A cyclic redundancy check (CRC) is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to raw data. The CRC was invented by W. Wesley Peterson in 1961. CRC-8 Checksum lives in the **Hashing** category of the `fx` menu.

## Parameters

| Parameter | Type   | Required | Default | Description                                                                                                      |
| --------- | ------ | -------- | ------- | ---------------------------------------------------------------------------------------------------------------- |
| Input     | string | yes      | —       | Value to transform. Previous step output or a literal.                                                           |
| Algorithm | string | no       | `CRC-8` | Choose one of: `CRC-8`, `CRC-8/CDMA2000`, `CRC-8/DARC`, `CRC-8/DVB-S2`, `CRC-8/EBU`, `CRC-8/I-CODE`, and 4 more. |

`Input` is the primary value (previous step output or a literal).

## Returned value

| Type     | Description                                  |
| -------- | -------------------------------------------- |
| `string` | Result of the CRC-8 Checksum transformation. |

## Limitations

- This operation treats Input as raw bytes (binary-capable). Non-text payloads may display differently after decoding.
- Wrong key, algorithm options, or malformed input typically raises an evaluation error — fix Input or options before re-running.

## Example

<details>
<summary>Run CRC-8 Checksum</summary>

A cyclic redundancy check (CRC) is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to raw data. Adjust optional parameters when the defaults do not match your payload.

1. Set **Input** to the value to transform (previous step output or a literal).

2. Review **Algorithm** and keep defaults unless your format requires otherwise.

3. Confirm **Output value** shows the transformed result.

</details>
