Skip to content

Shehreen43/Python__Project05_Secure_Data_Encryption_System_App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” Secure Data Encryption System

A Streamlit-based Secure Data Encryption App that allows users to register, log in, and securely encrypt/decrypt personal data using passkey-protected encryption. Built as part of GIAIC Assignment #5 under the mentorship of Sir Hamzah Syed, this project emphasizes data confidentiality, authentication, and access control.

Secure data means protecting sensitive information from unauthorized access by using encryption and strong authentication methods. It ensures that your data remains confidential, intact, and accessible only to those with the right permissions β€” giving you peace of mind in a digital world full of threats.


πŸ“Œ Features

  • βœ… User Registration & Login with password hashing (SHA-256)
  • πŸ”‘ Fernet-based encryption with passkey
  • πŸ›‘οΈ Brute-force protection with lockout after multiple failed attempts
  • πŸ“ Data saved in JSON format for persistent storage
  • πŸ” Search and view encrypted entries by title
  • πŸ“‚ View all encrypted records for the logged-in user
  • πŸ” Session-based access control using Streamlit session state

βš™οΈ Technologies Used

  • Python 3
  • Streamlit – for building the interactive UI
  • Cryptography (Fernet) – for secure encryption and decryption
  • Hashlib – for password hashing (SHA-256)
  • PBKDF2 – for key derivation
  • JSON – for user and data persistence

πŸ“ Project Structure

secure-data-encryption/ β”‚ β”œβ”€β”€ src/ β”‚ β”œβ”€β”€ encryption/ β”‚ β”‚ └── fernet_handler.py # Fernet encryption/decryption logic β”‚ β”œβ”€β”€ utils/ β”‚ β”‚ β”œβ”€β”€ file_handler.py # File I/O and password hashing β”‚ β”‚ └── lockout_handler.py # Lockout mechanism for failed login attempts β”‚ β”œβ”€β”€ data.json # Central data and user store β”œβ”€β”€ app.py # Main Streamlit application └── README.md # Project documentation


πŸ§ͺ Sample Use Cases

  • Create a new account with a unique username and password
  • Log in to your account
  • Encrypt sensitive data using a custom passkey
  • Decrypt stored data by providing the correct passkey
  • Search for encrypted entries by title
  • View all saved entries and decrypt them securely

Releases

No releases published

Packages

No packages published

Languages