Skip to content

A Python GUI application for calculating CRC32, SHA2-256, SHA2-384, and SHA2-512 cryptographic hashes.

Notifications You must be signed in to change notification settings

Cynid-22/Hashing-Algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hashing Algorithm GUI

A modern, high-performance graphical user interface for calculating cryptographic hashes, built with Python and Tkinter.

Features

  • Supported Algorithms: MD5, SHA-1, SHA-256, SHA-384, SHA-512, and CRC-32.
  • Input Modes:
    • Text Mode: Instant hashing of typed text with optional auto-calculation.
    • File Mode: Secure hashing of files (or entire folders) of any size.
  • High Performance:
    • Uses optimized native libraries (hashlib, zlib) for maximum speed.
    • Hashes large files (e.g., 5GB+) in seconds.
  • Memory Efficient:
    • Uses chunked streaming (16MB chunks) to process files.
    • Minimal memory footprint (~16MB RAM regardless of file size).
  • User-Friendly:
    • Real-time progress indicators for file hashing.
    • Drag-and-drop support for files.
    • Copy results to clipboard with one click.

Requirements

  • Python 3.x (with Tkinter)
  • G++ Compiler (MinGW for Windows)

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd Hashing-Algorithm
  2. Build the C++ executables:

    Run the build script to compile all hash algorithm implementations:

    build.bat

    This will create executables in the bin/ directory:

    • Sha256.exe, Sha384.exe, Sha512.exe
    • Sha1.exe, Md5.exe
    • Crc.exe
  3. Verify the build:

    Check that the bin/ directory contains all .exe files.

Usage

  1. Start the application:

    python app/gui.py
  2. Select algorithms:

    • Go to Hash Option menu and select one or more algorithms.
  3. Calculate hashes:

    Text Mode:

    • Type or paste text into the input field.
    • Check "Calculate Immediately" for auto-hashing as you type.
    • Or click "Calculate Hash" to hash manually.

    File Mode:

    • Click + to add individual files.
    • Click +F to add all files from a folder.
    • Click Calculate Hash to process all files.
    • View progress indicators during hashing.
  4. Copy results:

    • Click the Copy button to copy all hash results to clipboard.

Troubleshooting

"Executable not found" error:

  • Make sure you've run build.bat successfully.
  • Check that the bin/ directory contains all .exe files.

Build fails:

  • Ensure g++ is installed and in your PATH.
  • Try running g++ --version to verify installation.

Python import errors:

  • Ensure you're running Python 3.x.
  • Tkinter should be included by default; if not, reinstall Python with Tkinter enabled.

License

Open source for educational and personal use.