Skip to content

ChristianPeritore/SecureVault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SecureVault-CPP 🛡️

A high-performance hybrid password manager that leverages C++ for its core cryptographic operations and Python for the application logic.

📁 Repository Structure

This project is organized into three main components:

  1. vault_core.cpp

    • Role: Backend Engine.
    • Function: Implements AES-256-CBC encryption/decryption using the OpenSSL library. It is designed to be interfaced with Python via pybind11.
  2. CMakeLists.txt

    • Role: Build Configuration.
    • Function: Handles the compilation process, linking OpenSSL and Python development headers to produce the shared library module.
  3. manager.py

    • Role: Application Layer.
    • Function: Manages the local JSON database, hex encoding of binary data, and provides the command-line interface for the user.

🚀 Getting Started

Prerequisites

To build and run this project, you must have the following installed:

  • Compiler: GCC / Clang / MSVC (C++17 support).
  • Libraries: OpenSSL, pybind11.
  • Tools: CMake, Python 3.x.

Build Instructions

  1. Navigate to the project root.
  2. Run the following commands:
    mkdir build && cd build
    cmake ..
    cmake --build .
  3. Ensure the compiled module (vault_core.so or .pyd) is in the same directory as manager.py.

🔐 Security Features

  • Symmetric Encryption: AES-256-CBC.
  • Initialization Vector (IV): Randomly generated for every encryption cycle.
  • Local Storage: No cloud dependencies; data stays on your machine.

📝 License

This project is licensed under the MIT License.

About

SecureVault-CPP: A high-performance password manager featuring an AES-256-CBC encryption core written in C++ (OpenSSL) with a Python interface via pybind11.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors