Modern AI Password Analyzer GUI App using Python | Stylish Secure Password Generator [2025]

   Demo :


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














### πŸ” Features:

- Beautiful dark-themed GUI with CustomTkinter

- AI-based password suggestions using NLP

- Real-time strength checker with live results

- Minimal, clean UI with responsive elements

- Beginner-friendly Python source code


### πŸ“ Folder Structure:

PasswordAIAnalyzer/

├── assets/

│   ├── icons/

│   └── fonts/

├── src/

│   ├── gui.py

│   ├── strength_checker.py

│   ├── ai_suggestions.py

│   └── utils.py

├── main.py

├── requirements.txt

└── README.md



Code :


### main.py

from src.gui import run_app


if __name__ == "__main__":

    run_app()



### requirements.txt

customtkinter

nltk

darkdetect



### README.md

# PasswordAIAnalyzer

Modern Password Strength Analyzer GUI App in Python.


## Features

- Dark mode GUI with customtkinter

- AI-based password suggestions

- Live strength meter

- Clean UI with icons & fonts


## Run

```bash

pip install -r requirements.txt

python main.py

```


---


### src/gui.py

import customtkinter as ctk

from tkinter import messagebox

from src.strength_checker import check_strength

from src.ai_suggestions import suggest_passwords


ctk.set_appearance_mode("System")

ctk.set_default_color_theme("dark-blue")


def run_app():

    app = ctk.CTk()

    app.title("Password AI Analyzer")

    app.geometry("600x400")


    def analyze():

        password = entry.get()

        score, level = check_strength(password)

        result.configure(text=f"Strength: {level}")

        suggestions = suggest_passwords(password)

        suggest_box.configure(text="\n".join(suggestions))


    frame = ctk.CTkFrame(master=app)

    frame.pack(pady=40, padx=60, fill="both", expand=True)


    label = ctk.CTkLabel(master=frame, text="Enter Your Password", font=("Arial", 18))

    label.pack(pady=10)


    entry = ctk.CTkEntry(master=frame, placeholder_text="Type password here", show="*")

    entry.pack(pady=10)


    button = ctk.CTkButton(master=frame, text="Analyze", command=analyze)

    button.pack(pady=10)


    result = ctk.CTkLabel(master=frame, text="Strength: ", font=("Arial", 14))

    result.pack(pady=10)


    suggest_box = ctk.CTkLabel(master=frame, text="", font=("Arial", 12), wraplength=400)

    suggest_box.pack(pady=10)


    app.mainloop()



### src/strength_checker.py

import re


def check_strength(password):

    score = 0


    if len(password) >= 8:

        score += 1

    if re.search(r"[A-Z]", password):

        score += 1

    if re.search(r"[a-z]", password):

        score += 1

    if re.search(r"[0-9]", password):

        score += 1

    if re.search(r"[@$!%*?&#]", password):

        score += 1


    if score <= 2:

        return score, "Weak"

    elif score == 3:

        return score, "Moderate"

    else:

        return score, "Strong"



### src/ai_suggestions.py

import nltk

from nltk.corpus import words

import random


nltk.download('words')

word_list = set(words.words())



def suggest_passwords(password):

    suggestions = []


    if password.lower() in word_list:

        suggestions.append("Avoid dictionary words")

    if len(password) < 8:

        suggestions.append("Make it at least 8 characters")

    if password.islower() or password.isupper():

        suggestions.append("Use a mix of upper/lowercase")

    if password.isalnum():

        suggestions.append("Add symbols like !, @, #")


    suggestions.append("Try this: {}!{}{}".format(

        random.choice("ABCD"),

        random.randint(100, 999),

        random.choice("xyz@#")

    ))

    return suggestions


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