Skip to content

File-based credential vault: SHA-256 email IDs, bcrypt-salted passwords, each record Fernet-encrypted and appended to one log + tiny index for O(1) look-ups. No database, two files, scales to millions of users; ideal for secure prototypes, IoT, and web apps.

License

Notifications You must be signed in to change notification settings

Frost58531/HashFlog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HashFlog 🔒

GitHub release GitHub stars GitHub forks

HashFlog is a file-based credential vault designed to securely store user credentials. It uses SHA-256 for email IDs and bcrypt for password hashing. Each record is Fernet-encrypted, ensuring that sensitive data remains protected. The design includes an append-only log and a small index for O(1) look-ups, making it lightweight and efficient. This solution requires no database and operates with just two files, making it ideal for secure prototypes, IoT applications, and web apps.

Table of Contents

  1. Features
  2. Installation
  3. Usage
  4. How It Works
  5. Topics
  6. Contributing
  7. License
  8. Support

Features

  • Secure Storage: Store email IDs using SHA-256 and passwords with bcrypt.
  • Fernet Encryption: Each record is encrypted for added security.
  • Efficient Access: An append-only log allows for quick retrieval.
  • No Database Required: Works with just two files.
  • Scalable: Designed to handle millions of users.
  • Ideal for Prototypes: Perfect for IoT and web applications.

Installation

To get started with HashFlog, download the latest release from our Releases page. After downloading, follow these steps:

  1. Extract the files.

  2. Navigate to the directory in your terminal.

  3. Run the installation script:

    python setup.py install

Usage

Using HashFlog is straightforward. Here’s how you can store and retrieve credentials.

Storing Credentials

To store credentials, use the following command:

python hashflog.py store --email [email protected] --password your_password

Retrieving Credentials

To retrieve stored credentials, use:

python hashflog.py retrieve --email [email protected]

Command-Line Options

  • --email: Specify the email ID.
  • --password: Provide the password for storage.

How It Works

HashFlog employs a simple yet effective architecture. Here’s a breakdown:

  1. Credential Storage:

    • Email IDs are hashed using SHA-256.
    • Passwords are hashed with bcrypt, which adds a salt for security.
  2. Encryption:

    • Each record is encrypted using Fernet, ensuring that even if files are accessed, the data remains unreadable.
  3. Log Structure:

    • An append-only log records each entry, allowing for easy tracking of changes.
    • A tiny index is maintained for O(1) look-ups, ensuring that retrieval is quick and efficient.
  4. File Management:

    • All data is stored in two files, making the system lightweight and easy to manage.

Topics

HashFlog covers a range of topics relevant to secure credential storage:

  • append-only-log: A method for maintaining a record of changes.
  • bcrypt: A password hashing function designed for secure storage.
  • credential-store: A system for securely storing user credentials.
  • encryption-decryption: Processes for securing and accessing data.
  • fernet: A symmetric encryption method for secure data storage.
  • file-based-database: A lightweight alternative to traditional databases.
  • lightweight-auth: Simple authentication mechanisms for applications.
  • password-hashing: Techniques for securely storing passwords.
  • python: The programming language used for implementation.
  • sha256: A cryptographic hash function used for securing email IDs.

Contributing

We welcome contributions to HashFlog! If you’d like to help, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or fix.
  3. Make your changes.
  4. Submit a pull request.

License

HashFlog is licensed under the MIT License. See the LICENSE file for details.

Support

If you encounter any issues or have questions, please check the Releases page for updates and documentation. You can also open an issue in the repository for support.


HashFlog aims to provide a simple yet effective solution for credential management. Whether you're developing a prototype or building a secure application, HashFlog offers the tools you need to keep user data safe.

About

File-based credential vault: SHA-256 email IDs, bcrypt-salted passwords, each record Fernet-encrypted and appended to one log + tiny index for O(1) look-ups. No database, two files, scales to millions of users; ideal for secure prototypes, IoT, and web apps.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages