README.md

# Pbkdf2

[![Build Status](https://travis-ci.com/riverrun/pbkdf2_elixir.svg?branch=master)](https://travis-ci.com/riverrun/pbkdf2_elixir)
[![Module Version](https://img.shields.io/hexpm/v/pbkdf2_elixir.svg)](https://hex.pm/packages/pbkdf2_elixir)
[![Hex Docs](https://img.shields.io/badge/hex-docs-lightgreen.svg)](https://hexdocs.pm/pbkdf2_elixir/)
[![Total Download](https://img.shields.io/hexpm/dt/pbkdf2_elixir.svg)](https://hex.pm/packages/pbkdf2_elixir)
[![License](https://img.shields.io/hexpm/l/pbkdf2_elixir.svg)](https://github.com/riverrun/pbkdf2_elixir/blob/master/LICENSE)
[![Last Updated](https://img.shields.io/github/last-commit/riverrun/pbkdf2_elixir.svg)](https://github.com/riverrun/pbkdf2_elixir/commits/master)
[![Join the chat at https://gitter.im/comeonin/Lobby](https://badges.gitter.im/comeonin/Lobby.svg)](https://gitter.im/comeonin/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

Pbkdf2 password hashing library for Elixir.

Pbkdf2 is a well-tested password-based key derivation function that can be
configured to remain slow and resistant to brute-force attacks even as
computational power increases.

## Comparison with the Plug.Crypto version of Pbkdf2

If you want the Pbkdf2 output to be in binary (raw) or hex format, you might
find [Plug.Crypto.KeyGenerator](https://hexdocs.pm/plug_crypto/Plug.Crypto.KeyGenerator.html)
more convenient.

## Installation

1.  Add `:pbkdf2_elixir` to the `deps` section of your `mix.exs` file:

    ```elixir
    def deps do
      [
        {:pbkdf2_elixir, "~> 1.4"}
      ]
    end
    ```

2.  Optional: during tests (and tests only), you may want to reduce the number of rounds
so it does not slow down your test suite. If you have a `config/test.exs`, you should
add:

    ```elixir
    config :pbkdf2_elixir, :rounds, 1
    ```

## Comeonin wiki

See the [Comeonin wiki](https://github.com/riverrun/comeonin/wiki) for more
information on the following topics:

* [Algorithms](https://github.com/riverrun/comeonin/wiki/Choosing-the-password-hashing-algorithm)
* [Requirements](https://github.com/riverrun/comeonin/wiki/Requirements)
* [Deployment](https://github.com/riverrun/comeonin/wiki/Deployment)
  * including information about using Docker
* [References](https://github.com/riverrun/comeonin/wiki/References)

## Contributing

There are many ways you can contribute to the development of this library, including:

* Reporting issues
* Improving documentation
* Sharing your experiences with others
* [Making a financial contribution](#donations)

## Donations

First of all, I would like to emphasize that this software is offered
free of charge. However, if you find it useful, and you would like to
buy me a cup of coffee, you can do so at [paypal](https://www.paypal.me/alovedalongthe).

## Copyright and License

Copyright (c) 2014-2021 David Whitlock (alovedalongthe@gmail.com)

This software is licensed under [the BSD-3-Clause license](./LICENSE.md).