🧠 File Hash Checker GUI – MD5, SHA1, SHA256 in Python (FuzzuTech)

 Demo :


Click Video πŸ‘‡πŸ‘‡πŸ‘‡































πŸ“Œ Description:
A beautifully designed file hash calculator built using Python's tkinter, styled with modern colors, and capable of instantly generating MD5, SHA1, and SHA256 hashes of any file. It's perfect for checking file integrity or spotting tampered software. Export results easily and verify like a pro. Designed by FuzzuTech to help creators, coders, and digital forensics enthusiasts.


πŸ“Œ Features:

  • πŸ’» Built with Python's tkinter

  • πŸ” Supports MD5, SHA1, SHA256 hashing

  • 🧾 Export hash results as .txt

  • πŸŒ™ Modern Dark Mode UI

  • ⚡ Instant file verification tool

  • πŸ›‘ Designed for hackers, coders, sysadmins

  • πŸ“¦ Lightweight & Offline


Code :


import tkinter as tk

from tkinter import filedialog, messagebox

import hashlib, os


# Stylish Colors

BG_COLOR = "#1e1e2f"

BTN_COLOR = "#03dac6"

TEXT_COLOR = "#ffffff"

FONT = ("Segoe UI", 11)


def hash_file(file_path, algo):

    h = hashlib.new(algo)

    with open(file_path, 'rb') as f:

        while chunk := f.read(8192):

            h.update(chunk)

    return h.hexdigest()


def browse_file():

    path = filedialog.askopenfilename()

    if path:

        file_entry.delete(0, tk.END)

        file_entry.insert(0, path)

        calculate_hash(path)


def calculate_hash(path):

    try:

        md5_val = hash_file(path, "md5")

        sha1_val = hash_file(path, "sha1")

        sha256_val = hash_file(path, "sha256")

        md5_var.set(md5_val)

        sha1_var.set(sha1_val)

        sha256_var.set(sha256_val)

    except Exception as e:

        messagebox.showerror("Error", f"Unable to read file.\n{str(e)}")


def export_hash():

    content = f"MD5: {md5_var.get()}\nSHA1: {sha1_var.get()}\nSHA256: {sha256_var.get()}"

    path = filedialog.asksaveasfilename(defaultextension=".txt", filetypes=[("Text", "*.txt")])

    if path:

        with open(path, "w") as f:

            f.write(content)

        messagebox.showinfo("Exported", "Hashes saved successfully!")


# App Init

app = tk.Tk()

app.title("File Hash Checker - FuzzuTech")

app.geometry("600x460")

app.config(bg=BG_COLOR)

app.resizable(False, False)


tk.Label(app, text="πŸ” Select File to Generate Hash", bg=BG_COLOR, fg=TEXT_COLOR, font=("Segoe UI", 13, "bold")).pack(pady=15)


file_entry = tk.Entry(app, width=45, font=FONT)

file_entry.pack(pady=8)

tk.Button(app, text="Browse", command=browse_file, bg=BTN_COLOR, fg="black", font=FONT).pack()


# Result Frame

frame = tk.Frame(app, bg=BG_COLOR)

frame.pack(pady=30)


md5_var, sha1_var, sha256_var = tk.StringVar(), tk.StringVar(), tk.StringVar()


tk.Label(frame, text="MD5:", bg=BG_COLOR, fg=TEXT_COLOR, font=FONT).grid(row=0, column=0, sticky='w', pady=5)

tk.Entry(frame, textvariable=md5_var, width=60, font=FONT).grid(row=0, column=1)


tk.Label(frame, text="SHA1:", bg=BG_COLOR, fg=TEXT_COLOR, font=FONT).grid(row=1, column=0, sticky='w', pady=5)

tk.Entry(frame, textvariable=sha1_var, width=60, font=FONT).grid(row=1, column=1)


tk.Label(frame, text="SHA256:", bg=BG_COLOR, fg=TEXT_COLOR, font=FONT).grid(row=2, column=0, sticky='w', pady=5)

tk.Entry(frame, textvariable=sha256_var, width=60, font=FONT).grid(row=2, column=1)


tk.Button(app, text="πŸ“„ Export Hash", command=export_hash, bg="#6200ee", fg="white", font=FONT, padx=10, pady=5).pack(pady=25)


tk.Label(app, text="Developed by FuzzuTech", bg=BG_COLOR, fg="#555", font=("Segoe UI", 9)).pack(side="bottom", pady=10)


app.mainloop()

Comments

Popular posts from this blog

πŸš€ Simple Login & Registration System in Python Tkinter πŸ“±

πŸš€ Create a Python Screen Recorder with Audio (Complete Code)

πŸ“‘ Fuzzu Packet Sniffer – Python GUI for Real-Time IP Monitoring | Tkinter + Scapy