https://github.com/1101-1/trustypasswd
Little keeper of passwords that store it in local SQLite db
https://github.com/1101-1/trustypasswd
clap-rs rusqlite rust
Last synced: 4 months ago
JSON representation
Little keeper of passwords that store it in local SQLite db
- Host: GitHub
- URL: https://github.com/1101-1/trustypasswd
- Owner: 1101-1
- License: apache-2.0
- Created: 2023-04-19T18:50:07.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-05-03T18:22:47.000Z (over 2 years ago)
- Last Synced: 2025-03-24T18:22:49.702Z (7 months ago)
- Topics: clap-rs, rusqlite, rust
- Language: Rust
- Homepage:
- Size: 38.1 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://github.com/1101-1/TRustyPasswd/releases/tag/1.0.0) or git clone version(for that instruction below).
##### ! At first, u need to write in Linux terminal `cargo build`
```rust
./target/debug/trusty_passwd -a(--arg) -n(--name) -s(--service) -p -u
```
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:
: a unique identifier for the password record
: the username associated with the password
: the password
: the chosen service
: 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
#### PerformanceTRustyPasswd 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.
### ArchitectureTRustyPasswd 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 moduleThe 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