dumb-crypto 3.1.0

Dumb, but easily verifiable implementations of crypto algorithms
Documentation
# dumb-crypto
[![Build Status](https://secure.travis-ci.org/indutny/dumb-crypto.svg)](http://travis-ci.org/indutny/dumb-crypto)
[![Latest version](https://img.shields.io/crates/v/dumb-crypto.svg)](https://crates.io/crates/dumb-crypto)
[![Documentation](https://docs.rs/dumb-crypto/badge.svg)][docs]
![License](https://img.shields.io/crates/l/dumb-crypto.svg)

This library implements following cryptographic routines in the dumbest and
the most obvious way:

- sha256
- hmac-sha256
- pbkdf2-sha256
- salsa20
- scrypt

## Why?

Normally, one would find a highly optimized code implementing those.
However, verifying such code is a non-trivial task. All routines (except for
scrypt itself) are pre-requisites for scrypt, and a provided just for
convenience.

## Quick example

```rust
extern crate dumb_crypto;

use::dumb_crypto::scrypt::Scrypt;

let scrypt = Scrypt::new(1, 128, 1);

let mut out: [u8; 8] = [0; 8];

scrypt.derive(b"passphrase", b"salt", &mut out);

assert_eq!(out.to_vec(), vec![
    79, 35, 225, 99, 145, 145, 172, 245,
]);
```

## Using dumb-crypto

See [documentation][docs] for details.

[docs]: https://docs.rs/dumb-crypto