# Bcrypt

bcrypt is a password hashing function designed by Niels Provos and David Mazières, based on the Blowfish cipher, and presented at USENIX in 1999. Besides incorporating a salt to protect against rainbow table attacks, bcrypt is an adaptive function: over time, the iteration count (rounds) can be increased to make it slower, so it remains resistant to brute-force search attacks even with increasing computation power. Enter the password in the input to generate its hash. Bcrypt 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. |
| Rounds    | number | no       | `10`    | Numeric value. Default `10`.                           |

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

## Returned value

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

## Limitations

- Wrong key, algorithm options, or malformed input typically raises an evaluation error — fix Input or options before re-running.

## Example

<details>
<summary>Run Bcrypt</summary>

bcrypt is a password hashing function designed by Niels Provos and David Mazières, based on the Blowfish cipher, and presented at USENIX in 1999. 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 **Rounds** and keep defaults unless your format requires otherwise.

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

</details>
