# Password Hashing for Windows

When creating a new Phoenix project, you can add authentication by running:

```bash
mix phx.gen.auth
```

If you do this on macOS or Linux, then Phoenix will use `bcrypt_elixir`. If you do this on a Windows machine, then it will use `pbkdf2_elixir`instead. You can find more on the pros and cons of choosing a hash system [here](https://hexdocs.pm/phoenix/Mix.Tasks.Phx.Gen.Auth.html#module-password-hashing).

Petal Pro has been pre-generated with `bcrypt_elixir` - if you're on a Windows machine, you can switch by applying this recipe. This is much more convenient than trying to compile bcrypt on a Windows machine!

### How to use

This recipe is available for version `1.8.0` and above.

#### New projects

You can choose to check out the branch or cherry pick it.

```
git clone https://github.com/petalframework/petal_pro.git
cd petal_pro
git checkout recipes/<version>/win-pass-hash
```

#### Cherry pick

Follow the [cherry-pick instructions](https://docs.petal.build/petal-pro-documentation/recipes/how-to-apply-a-recipe-with-git-cherry-pick) with the branch `recipes/<version>/win-pass-hash`.
