π§ 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
Post a Comment