Code Monkey home page Code Monkey logo

mine's Introduction

mine

A simple password manager built on top of libnacl in Rust.

warning

This project is highly experimental, don't use it. The on-disk format might change at any time.

mine's People

Contributors

kyrias avatar

Watchers

James Cloos avatar  avatar  avatar

mine's Issues

Hashed file names

I've been thinking about doing something like hashing the password names and writing to disk under the hashed name, and then keep an index of the unhashed-hashed name mapping for each directory to allow for listing files and shell completion.

Password protected secret key

Before writing the secret encryption key to disk we should use sodiumoxide::crypto::pwhash to derive an encryption key from a password.

This does also bring the question of how to pass in the password: (non-exhaustive list)

  • As a command-line argument
  • Just passing it on stdin
  • Prompt using a curses-like window
  • pinentry (sometimes gets into weird finicky states with gpg. might be a gpg bug though.)
  • or maybe support all of them?

And now I'm also thinking about looking into storing the secret key using libsecret (gnome-keyring/kwallet), so we don't have to take care of the password protection ourselves at all, hm.

Better project name

Really need to figure out a better name for this thing, it's a bit confusing to talk about it as it is.\


Current name is something of a pun on salt mines, since it uses NaCl for crypto.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.