Skip to content

About

A desktop SHA-256 verification toolkit with two implementations: Python + Tkinter version and C++ Win32 + Windows CNG (BCrypt) version

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

SHA-256 File Verifier

A desktop SHA-256 verification toolkit with two implementations:

  • Python + Tkinter version
  • C++ Win32 + Windows CNG (BCrypt) version

Verify file integrity by comparing a calculated SHA-256 hash with a trusted hash.

Features

  • Browse and select a local file
  • Calculate SHA-256 for the selected file
  • Compare calculated hash against an expected hash
  • Show clear match or mismatch result
  • Dedicated Read Hash flow in the C++ app
  • Input normalization and basic path hardening in the C++ app

Tech Stack

Variant UI Hashing Build/Runtime
Python version Tkinter hashlib.sha256 Python 3
C version Win32 API Windows CNG (bcrypt) CMake + C++17

Project Structure

SHA-256_File_Verifier/
|-- python version/
|   `-- main.py               # Python Tkinter verifier
|-- C version/
|   |-- main.cpp              # C++ Win32 verifier
|   |-- CMakeLists.txt        # CMake build config
|   `-- build.ps1             # PowerShell build helper
`-- README.md                 # Project documentation

GitHub Shortcuts

Clone and Open

git clone https://github.com/BnHany/SHA-256_File_Verifier
cd SHA-256_File_Verifier

Getting Started

Python Version

Prerequisites

  • Python 3.10 or newer

Run

cd "python version"
python main.py

C Version

Prerequisites

  • CMake 3.16+
  • A C++17-compatible Windows compiler (MSVC or MinGW)
  • PowerShell

Build

cd "C version"
.\build.ps1 -Config Release

Optional clean rebuild:

.\build.ps1 -Config Release -Clean

Run

After build, run one of:

.\build\hash_verifier_gui.exe
.\build\Release\hash_verifier_gui.exe

How to Use

  1. Select a file.
  2. Enter the trusted SHA-256 hash (64 hex characters).
  3. Click verify:
  • Python app: Verify
  • C++ app: Verify Hash Match
  1. Read the result dialog for match/mismatch.

Notes

  • SHA-256 hashes are displayed in lowercase hex.
  • The C++ app performs extra path and file-type validation before hashing.

Learn More / Documentation

If you want to understand the internal implementation, security considerations, and design decisions behind the SHA-256 File Verifier (both Python and C++ versions), refer to the detailed documentation below:

Ask DeepWiki

This documentation is helpful for learners, security students, and developers who want to explore how SHA-256 verification is implemented across different stacks.


Author

BnHany

Built with ❤️ to simplify file integrity verification for everyday users. Contributions, issues, and feature requests are welcome.


📄 License

This project is licensed under the MIT License.
Feel free to use, modify, and distribute. Please give proper credit and use responsibly.

About

A desktop SHA-256 verification toolkit with two implementations: Python + Tkinter version and C++ Win32 + Windows CNG (BCrypt) version

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages