Easy password hashing

Supported algorithms: - Bcrypt

Motivation

Using Bcrypt as is results in passwords being limited to a length of 72. This means it's not easy to salt the password or support arbitrarily long user passwords.

This library performs a HMAC with SHA256 used as the hash function before feeding the result into Bcrypt. As such, any length of password can be used with Bcrypt when passwords are made or verified with this library.

Usage

Hashing a password:

```rust extern crate easy_password;

use easypassword::bcrypt::hashpassword;

let bcryptrounds = 12; // Secure default let hash: String = hashpassword("mypassword", b"securekey", 12).unwrap(); ``` Verifying a hash:

```rust extern crate easy_password;

use easypassword::bcrypt::hashpassword;

let success: bool = verifypassword("testpassword", hash.asstr(), b"securekey").unwrap(); ```

Formatting code

To install rustfmt: rustup component add rustfmt-preview To format the code: cargo fmt

License

MIT License, see LICENSE