Skip to content

moby7972/ForgetNot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” ForgetNot β€” Command-Line Password Manager (C)

ForgetNot is a terminal-based password manager written in C that allows users to generate, store, view, edit, and delete passwords using binary file storage.
The project focuses on low-level systems concepts such as memory management, binary I/O, and modular program design.


✨ Features

  • πŸ”‘ Password Generation

    • User-defined length
    • Optional symbols
    • Randomized using rand() seeded with system time
  • πŸ’Ύ Binary File Storage

    • Passwords stored securely in a binary file (passwords.db)
    • Uses fixed-size struct records for consistency and safety
  • πŸ‘€ View Saved Passwords

    • Lists all saved services
    • View service, username, and password
  • ✏️ Edit Passwords

    • Edit service name, username, password, or all fields
    • Option to generate a new password during edit
  • πŸ—‘ Delete Passwords

    • Safely remove passwords with confirmation
  • 🧠 Modular Design

    • Separate source files for each feature
    • Static library (libpass.a) built with Makefile

πŸ›  Technologies & Concepts Used

  • C (C99)
  • Dynamic memory allocation (malloc, realloc, free)
  • Binary file I/O (fread, fwrite)
  • Struct-based data modeling
  • Static libraries
  • Makefile-based build system
  • Defensive programming & input validation

πŸ“ Project Structure

ForgetNot/ β”‚ β”œβ”€β”€ src/ β”‚ β”œβ”€β”€ main.c β”‚ β”œβ”€β”€ generatePassword.c β”‚ β”œβ”€β”€ savePassword.c β”‚ β”œβ”€β”€ viewPassword.c β”‚ β”œβ”€β”€ editPassword.c β”‚ β”œβ”€β”€ deletePassword.c β”‚ └── header.h β”‚ β”œβ”€β”€ Makefile └── README.md


▢️ How to Build & Run

Requirements

  • GCC (MinGW on Windows)
  • mingw32-make

Build

mingw32-make

Run

.\bin\password.exe

πŸ‘€ Author

Moby Computer Science student Built as a systems programming & learning project

About

A password generator and storage program created using C code and Binary files.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published