Rust-Mpw rs: mpw-rs — Pure Rust implementation of the Master Password password manager

license Build Status Crates.io

Master Password •••|

This is the Rust version of the original found here. This can be used as a drop-in replacement for the reference C version, offering greater runtime safety and memory leaks protection with at-par performance.

Requirements

Building, testing and running

  • cargo test --release
  • cargo run --release

Benchmarking

  • cargo run --release -- --benchmark

Installing via Cargo

  • Make sure Rust 1.15+ is installed.
  • Run cargo install mpw-rs
  • It will be available on PATH as mpw-rs for the current user.

"Next" features

To use the Argon2 based KDF instead of Scrypt:

  • cargo run --release -- -a next
  • This should not be used for production as the Argon2 params are experimental.
  • Uses Argon2i(pass=1, lanes=4, mem=128MB) as KDF instead of Scrypt.
  • This is only available in the Rust version.

Comments

  • Merge - save feature to remember site counter in local sqlite database
    Merge - save feature to remember site counter in local sqlite database

    Jun 8, 2017

    Implemented an extra parameter support to save site count which helps to generate unique password every time for the same site. The non-sensitive meta data is stored in a simple sqlite database in the same folder as the app.

    Reply
  • Integrate mpw-rs with syncthing
    Integrate mpw-rs with syncthing

    Dec 26, 2017

    Use syncthing as backend to sync preferences across user devices.

    enhancement 
    Reply
  • Update some dependencies and switch to Rust 2018
    Update some dependencies and switch to Rust 2018

    Feb 3, 2019

                                                                                                                                                                                                           
    Reply
  • Can't install, because ring version is yanked
    Can't install, because ring version is yanked

    Mar 15, 2019

    I tried installing it today and it failed:

    $ cargo install mpw-rs
        Updating crates.io index
      Installing mpw-rs v2.4.3
    error: failed to compile `mpw-rs v2.4.3`, intermediate artifacts can be found at `/tmp/cargo-installMJyAsf`
    
    Caused by:
      failed to select a version for the requirement `ring = "^0.11"`
      candidate versions found which didn't match: 0.14.6, 0.14.5, 0.14.4, ...
      location searched: crates.io index
    required by package `mpw-rs v2.4.3`
    

    Installing #5 works.

    Reply
  • Extremely  slow password generation
    Extremely slow password generation

    Aug 2, 2019

    When cloning this repo and then running cargo run, it takes half a minute to generate the password

    Reply
  • Write benchmarks with nightly features
    Write benchmarks with nightly features

    Oct 20, 2019

    • [x] Update all syntax to 2018 edition
    • [x] Write benchmarks with !#[feature(test)]
    • [x] Update outdated crates
    • [x] Fix CI to build on nightly toolchain
    Reply
  • Change site name to user name when prompting for user name
    Change site name to user name when prompting for user name

    Nov 27, 2017

    Just a change when calling mpw-rs without arguments, Site name appears twice

    Reply
  • logo
    logo

    Oct 23, 2017

    masterkey 4

    ?

    Reply