rusterpassword crates.io Build Status API Docs unlicense

A [Rust] implementation of the [Master Password algorithm].

Uses [secstr] secure strings and [libsodium] through [sodiumoxide]'s underlying libsodium-sys.

Also includes a C API for calling from other languages.

Usage

```rust extern crate secstr; extern crate rusterpassword; extern crate sodiumoxide;

use secstr::; use rusterpassword::;

fn main() { sodiumoxide::init(); let masterkey = genmasterkey(SecStr::from("Correct Horse Battery Staple"), "Cosima Niehaus").unwrap(); let siteseed = gensiteseed(&masterkey, "twitter.com", 5).unwrap(); let password = gensitepassword(siteseed, TEMPLATES_MAXIMUM); } ```

Contributing

Please feel free to submit pull requests! Bugfixes and simple non-breaking improvements will be accepted without any questions :-)

By participating in this project you agree to follow the Contributor Code of Conduct.

The list of contributors is available on GitHub.

License

This is free and unencumbered software released into the public domain.
For more information, please refer to the UNLICENSE file or unlicense.org.