Giter Club home page Giter Club logo

trustypasswd's Introduction

TRustyPasswd: Password Keeper Service

Overview

The TrustyPasswd is a software application designed to securely store services, usernames and passwords in a local SQLite database. The application will be written in Rust to provide robust performance, reliability, and security.

Functional Requirements

User Interface

TRustyPasswd will be a command-line interface (CLI) application. It will provide the following functionalities to the user:

You can use compiling version RELEASE or git clone version(for that instruction below).

! At first, u need to write in Linux terminal cargo build
./target/debug/trusty_passwd -a(--arg) <add/show/delete> -n(--name) <username> -s(--service) <service> -p <password> -u <url>

The user will interact with the application by entering the required command-line arguments and options.

Database

TRustyPasswd will store all password records in a local SQLite database. The database schema will have the following fields:

<id>: a unique identifier for the password record
<username>: the username associated with the password
<password>: the password
<service>: the chosen service
<url>: URL to the source

Security(Soon)

TRustyPasswd will use strong cryptographic algorithms to encrypt and decrypt passwords in the database. The application will use the password hashing function to derive a cryptographic key from the user's master password. The application will use authenticated encryption algorithm to encrypt and decrypt passwords in the database.

Non-Functional Requirements

Performance

TRustyPasswd should be able to handle a large number of password records efficiently. The application should be able to add, retrieve, update, delete, and list password records.

Architecture

TRustyPasswd will consist of the following components:

Command-line interface (CLI) module
Database module
Password encryption module(Soon)

Command-line interface (CLI) module

The CLI module will be responsible for handling user input and displaying output to the user. The module will use the Rust clap crate to parse command-line arguments and options. The module will interact with the database module and the password encryption module to perform password record operations. Database module

The database module will be responsible for handling all interactions with the SQLite database. The module will use the Rust rusqlite crate to interface with the database. The module will implement functions to add, retrieve, update, delete, and list password records in the database.

Deployment

The application will be distributed in binary form for Linux, Windows, and macOS operating systems.

Additional Arg flags

-g --generate_password - generated 11 letters password if -p arg is empty

-p --password - sets password

-u --url - sets url

trustypasswd's People

Contributors

1101-1 avatar

Stargazers

 avatar

Watchers

 avatar

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.