rails-cookie-parser 0.1.0

A decryption library for Rails cookies
Documentation
# rails-cookie-parser

I already wrote [something similar in Node.JS](https://github.com/joshleaves/rails5-cookie-parser), and looking at [Loco](https://loco.rs/), I felt like it would be good to write some APIs in Rust and have them read sessions set in Rails.

## Usage

Simple plug-n-use, don't forget to set your `SECRET_KEY_BASE`:

```rust
  use rails_cookie_parser::RailsCookieParser;

  let parser = RailsCookieParser::default();
  let Ok(result) = parser.decipher_cookie("my_cookie--is--very--long") else {
    panic!("An error somewhere on the way");
  }
```

Since Rails 7, the default hash digest is Sha256. If you want to use your Rails5 or Rails 6 sessions:

```rust
  use rails_cookie_parser::RailsCookieParser;

  let parser = RailsCookieParser::default_rails6();
  let Ok(result) = parser.decipher_cookie("my_cookie--is--very--long") else {
    panic!("An error somewhere on the way");
  }
```

For a more complex usage, you can fine-tune things:

```rust

  use rails_cookie_parser::{RailsCookieParser, HashDigest};

  let rails_key = RailsCookieParser::new(
    "secret_key_base"                 // Secret key base
    "authenticated encrypted cookie", // Key salt
    1000,                             // Iterations
    HashDigest::Sha256                // HashDigest: Sha1 or Sha256
  );
  let Ok(result) = parser.decipher_cookie("my_cookie--is--very--long") else {
    panic!("An error somewhere on the way");
  }
```

## License

Licensed under MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT).