#security #password #master-password

rusterpassword

An implementation of the Master Password algorithm

4 releases

Uses old Rust 2015

0.2.2 Sep 4, 2018
0.2.1 Jun 2, 2017
0.2.0 Nov 4, 2015
0.1.0 Oct 31, 2015

#428 in Cryptography

Unlicense

11KB
159 lines

crates.io API Docs Build Status unlicense

rusterpassword

A Rust implementation of the Master Password algorithm, created for freepass.

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

Also includes a C API for calling from other languages.

Usage

extern crate secstr;
extern crate rusterpassword;
extern crate sodiumoxide;

use sodiumoxide;
use secstr::*;
use rusterpassword::*;

fn main() {
    sodiumoxide::init();
    let master_key = gen_master_key(SecStr::from("Correct Horse Battery Staple"), "Cosima Niehaus").unwrap();
    let site_seed = gen_site_seed(&master_key, "twitter.com", 5).unwrap();
    let password = gen_site_password(site_seed, TEMPLATES_MAXIMUM);
}

Contributing

Please feel free to submit pull requests!

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.

Dependencies

~5MB
~54K SLoC

ínŽ[