A secure password manager built using PHP and Object-Oriented Programming (OOP). This system allows users to register, generate encrypted passwords based on custom criteria, and store them in a MySQL database. Designed as a lab project for academic evaluation.
- User registration with password hashing (
password_hash) - AES-based encryption of generated passwords using user-derived keys
- Password generator with user-defined length and character types
- Storage of encrypted passwords with website/app names
- Clean and responsive UI with background image and purple theme
- Session management for secure login
- PDF report viewable directly from the app
- PHP (OOP)
- MySQL
- HTML/CSS
- AES Encryption (
openssl_encrypt) - Sessions & Form handling
- Copy the folder to
C:/xampp/htdocs/php-password-manager/ - Start Apache & MySQL in XAMPP
- Go to localhost/phpmyadmin
- Then to the left click on "New"
- After creating new oopen the new folder you created
- CLick on the hamburger option above and click on SQL
- Add the below table over there in the box and click on GO
CREATE DATABASE password_manager;
USE password_manager;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password_hash VARCHAR(255) NOT NULL,
encryption_key VARBINARY(255) NOT NULL
);
CREATE TABLE passwords (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
website VARCHAR(100),
password_encrypted TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id)
);