You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A secure password manager with **AES-256-GCM encryption**, **Argon2 hashing**, and a **web API**.
5
-
Supports both **CLI** and **Web API** for managing passwords securely.
3
+
A secure password manager built with Rust, featuring AES-256-GCM encryption, Argon2 hashing, and both a web API and CLI interface. This project prioritizes security and provides a robust solution for managing your passwords.
print("\n🔎 Retrieving Password for 'example.com'...")
125
104
print(get_password("example.com"))
126
-
127
105
print("\n❌ Removing Password for 'example.com'...")
128
106
print(remove_password("example.com"))
129
-
130
107
print("\n⚠️ Clearing All Data...")
131
108
print(clear_all_data())
132
-
```
133
-
---
134
-
135
-
## 🔗 CLI Usage
136
109
137
-
### **1️⃣ Running the CLI**
138
-
```sh
139
-
cargo run
140
-
```
141
-
or
142
-
```sh
143
-
./passwordmanager
144
110
```
145
111
146
-
### **2️⃣ Available CLI Actions**
147
-
- **Add a new password**
148
-
- **Retrieve stored passwords**
149
-
- **List all stored websites and usernames**
150
-
- **Remove passwords**
151
-
- **Clear all stored data**
112
+
**Important:** The Python example assumes the API is running. Make sure you have started the backend as described above. The API endpoints and expected JSON request/response formats should be documented clearly (consider using OpenAPI/Swagger).
152
113
153
-
### **3️⃣ Security**
154
-
- **Use a strong master password**
155
-
- **Passwords are encrypted with AES-256-GCM**
156
-
- **Data is erased from memory after use (zeroization)**
✅ **Web API Development**in Rust with **Actix-Web**
179
-
✅ **Frontend & Backend Security Best Practices**
133
+
Follow the prompts within the CLI to manage your passwords.
180
134
181
-
---
135
+
## 🔒 Security
182
136
183
-
## ⚙️ Dependencies
137
+
***Argon2 Password Hashing:** Uses Argon2 for strong master password protection with configurable parameters (memory cost, time cost, parallelism). *Specify the exact parameters used in the implementation.*
138
+
***AES-256-GCM Encryption:** Employs AES-256-GCM for encrypting stored passwords, ensuring confidentiality and integrity. *Mention how the nonce is handled.*
139
+
***Zeroization:** Sensitive data is securely erased from memory using the `zeroize` crate.
184
140
185
-
### **📦 Rust Crates Used:**
186
-
- `actix-web` – Web API framework
187
-
- `rusqlite` – SQLite database
188
-
- `argon2` – Password hashing
189
-
- `aes-gcm` – AES-256-GCM encryption
190
-
- `rpassword` – Secure password input
191
-
- `zeroize` – Secure memory wiping
141
+
## 🏗 Why This Project?
192
142
193
-
### **🌍 Frontend Dependencies:**
194
-
- `Next.js` – React-based web framework
195
-
- `Tailwind CSS` – UI styling
196
-
- `Axios` – API calls
143
+
This project was developed for educational purposes to explore and implement:
197
144
198
-
---
145
+
* Secure password storage and encryption techniques.
146
+
* Cryptographic algorithms (Argon2, AES-256-GCM).
147
+
* Database security with SQLite.
148
+
* Web API development using Actix-Web.
149
+
* Frontend development with Next.js.
150
+
* Security best practices.
199
151
200
-
## 📜 License
201
-
This project is **open-source** and licensed under the **MIT License**.
0 commit comments