# XOR

XOR the input with the given key. For example, `fe023da5`. XOR lives in the **Arithmetic** category of the `fx` menu.

## Parameters

| Parameter       | Type    | Required | Default    | Description                                                                        |
| --------------- | ------- | -------- | ---------- | ---------------------------------------------------------------------------------- |
| Input           | string  | yes      | —          | Value to transform. Previous step output or a literal.                             |
| Key             | string  | no       | —          | Argument value for this operation.                                                 |
| Scheme          | string  | no       | `Standard` | Choose one of: `Standard`, `Input differential`, `Output differential`, `Cascade`. |
| Null preserving | boolean | no       | `false`    | Disabled by default.                                                               |

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

## Returned value

| Type     | Description                       |
| -------- | --------------------------------- |
| `string` | Result of the XOR transformation. |

## Limitations

- This operation treats Input as raw bytes (binary-capable). Non-text payloads may display differently after decoding.

## Example

<details>
<summary>Run XOR</summary>

XOR the input with the given key. 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 **Key**, **Scheme**, **Null preserving** and keep defaults unless your format requires otherwise.

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

</details>
