HashGate-Authentication-System

πŸ” HashGate Authentication System (Stage 1)

Language|C++ SHA-256|HASHING PLATFORM LICENSE STAGE|1


πŸ“ Overview

The HashGate Authentication System is a secure, file-based user authentication program written in C++. It provides a simple yet effective way to manage user authentication with the following features:

This system ensures that user credentials are stored securely using hashing techniques and provides a basic but effective local authentication mechanism.

πŸš€ Note: This program is just a part of a bigger project I am working on. It serves as the front-end login system for a larger application currently under development.

πŸš€ Features

πŸ› οΈ How It Works

  1. First Run Setup: The system prompts the user to set a root password (this cannot be changed later).
  2. Users can:
    • πŸ”‘ Login with a username and password.
    • βž• Create a new user (requires root password verification).
    • πŸ—‘οΈ Delete a user (requires root password verification and confirmation).
    • ❌ Exit the program.
  3. Passwords are stored securely as SHA-256 hashes to prevent unauthorized access.

βš™οΈ Setup and Compilation

Requirements

Compilation on Linux

 g++ authentication.cpp -o hashgate -lssl -lcrypto

Compilation on Windows (MinGW)

g++ authentication.cpp -o hashgate.exe -lssl -lcrypto

πŸ“Œ Usage

  1. Run the compiled executable:
    ./hashgate   # Linux
    hashgate.exe # Windows
    
  2. First Run:
    • The program will prompt for a root password.
    • This password is required to create or delete users.
  3. πŸ”‘ Login:
    • Enter a valid username and password.
    • If correct, access is granted; otherwise, an error is shown.
  4. βž• Create a User:
    • Enter the root password.
    • Provide a new username and password.
  5. πŸ—‘οΈ Delete a User:
    • Enter the root password.
    • Provide the username to delete.
    • Confirm deletion.
  6. ❌ Exit the program by selecting option 4.

πŸ”’ Security Considerations

πŸ“œ License

This project is open-source and free to use under the MIT License. Contributions and suggestions are welcome! πŸš€

🀝 Collaboration & Contributions

I am open to collaboration if you have great ideas to implement! Feel free to open issues, submit pull requests, or discuss enhancements. Let’s make HashGate Authentication System even better together! πŸ’‘πŸ”§