Skip to content

riverrun/bcrypt_elixir

Repository files navigation

Bcrypt

Build Status Module Version Hex Docs Total Download License Last Updated

Bcrypt password hashing library for Elixir.

Bcrypt 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.

Compatibility with other Bcrypt libraries

This version is based on the OpenBSD version of Bcrypt and supports the $2b$ and $2a$ prefixes. For advice on how to use hashes with the $2y$ prefix, see this issue.

Installation

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

    If you are using Erlang >20:

    def deps do
      [
        {:bcrypt_elixir, "~> 3.0"}
      ]
    end

    If you are using Erlang 19 or below:

    def deps do
      [
        {:bcrypt_elixir, "~> 0.12"}
      ]
    end
  2. Make sure you have a C compiler installed. See the Comeonin wiki for details.

  3. 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:

    config :bcrypt_elixir, :log_rounds, 4

Comeonin wiki

See the Comeonin wiki for more information on the following topics:

Contributing

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

  • Reporting issues
  • Improving documentation
  • Sharing your experiences with others

Documentation

http://hexdocs.pm/bcrypt_elixir

License

BSD. For full details, please read the LICENSE file.