A simple yet secure Password Manager built using Java, AES Encryption, and File Storage. It allows users to add, view, edit, and delete passwords securely from a command-line interface.
AES Encryption (javax.crypto) for all stored passwords
Master Password Authentication before accessing the vault
Secure File Storage: encrypted passwords saved in vault.txt
Add new password
View all stored passwords
Edit existing passwords
Delete passwords
Modular Code Structure (separate utility and service classes)
Extensible for Android app or GUI integration
src/ ├── CryptoUtil.java # Handles AES encryption and decryption ├── PasswordVault.java # Core vault operations (add, view, edit, delete) └── Main.java # Main user interface and control flow vault.txt # Auto-generated encrypted vault file
Java 8+
AES Encryption (128-bit)
File I/O (FileReader, FileWriter, BufferedReader)
Basic Exception Handling
git clone https://github.com/yourusername/password-vault.git cd password-vault
javac src/*.java
java -cp src Main
Enter the Master Password (default is MySecretKey12345).
Enter Master Password: MySecretKey12345
- Add Password
- View Passwords
- Edit Password
- Delete Password
- Exit Enter your choice: 1
Enter site name: Gmail Enter password: gmail@123
Password saved successfully!
Enter your choice: 1 Enter site name: Instagram Enter password: instaPass!2024
Password saved successfully!
rust Copy Edit Enter your choice: 2 Gmail -> myGmail@123 Instagram -> instaPass!2024
Enter your choice: 3 Enter site name to edit: Gmail Enter new password: newGmailPass@321 Password updated successfully.
Enter your choice: 2 Gmail -> newGmailPass@321 Instagram -> instaPass!2024
Enter your choice: 4 Enter site name to delete: Instagram Password deleted successfully.
Enter your choice: 2 Gmail -> newGmailPass@321
Enter your choice: 5 Exiting Password Vault. Goodbye!
If you open the file manually, it contains something like:
Gmail:EncryptedDataHere (Encrypted password, safe even if someone opens the file!)