পাসওয়ার্ড জেনারেটর একটি প্রোজেক্ট, যা বিভিন্ন ধরণের ক্যারেক্টার ব্যবহার করে র্যান্ডম পাসওয়ার্ড তৈরি করতে সাহায্য করে। Python-এ Tkinter ব্যবহার করে একটি GUI পাসওয়ার্ড জেনারেটর তৈরি করা সম্ভব। এই প্রোজেক্টটি বিশেষ করে তখন কার্যকরী যখন শক্তিশালী পাসওয়ার্ড তৈরি করতে হয়, যা সাধারণ অনুমান করা কঠিন।
প্রজেক্ট: পাসওয়ার্ড জেনারেটর
ফিচারস
- ব্যবহারকারী পাসওয়ার্ডের দৈর্ঘ্য নির্ধারণ করতে পারবেন।
- পাসওয়ার্ডে কি ধরনের ক্যারেক্টার থাকতে হবে তা নির্ধারণ করতে পারবেন (যেমন, ছোট হাতের অক্ষর, বড় হাতের অক্ষর, সংখ্যা এবং বিশেষ চিহ্ন)।
- জেনারেট করা পাসওয়ার্ড একটি টেক্সট বক্সে দেখানো হবে এবং চাইলে পাসওয়ার্ডটি কপি করা যাবে।
প্রয়োজনীয় লাইব্রেরি
- tkinter: GUI তৈরির জন্য।
- random: র্যান্ডম পাসওয়ার্ড তৈরি করার জন্য।
Step 1: Tkinter এবং অন্যান্য মডিউল ইম্পোর্ট করা
import tkinter as tk
from tkinter import messagebox
import random
import string
Step 2: Tkinter GUI সেটআপ এবং এন্ট্রি ফিল্ড তৈরি
Tkinter GUI তৈরি করে ব্যবহারকারীকে পাসওয়ার্ডের দৈর্ঘ্য এবং অন্যান্য সেটিংস দিতে পারবেন।
# মেইন Tkinter উইন্ডো তৈরি
root = tk.Tk()
root.title("Password Generator")
root.geometry("400x400")
# পাসওয়ার্ডের দৈর্ঘ্য নির্ধারণের লেবেল এবং এন্ট্রি ফিল্ড
tk.Label(root, text="Password Length:").pack(pady=5)
length_entry = tk.Entry(root, width=5)
length_entry.pack(pady=5)
# পাসওয়ার্ডে ক্যারেক্টার অন্তর্ভুক্ত করার জন্য চেকবক্স
include_uppercase = tk.BooleanVar()
include_numbers = tk.BooleanVar()
include_symbols = tk.BooleanVar()
tk.Checkbutton(root, text="Include Uppercase Letters", variable=include_uppercase).pack(anchor="w")
tk.Checkbutton(root, text="Include Numbers", variable=include_numbers).pack(anchor="w")
tk.Checkbutton(root, text="Include Symbols", variable=include_symbols).pack(anchor="w")
Step 3: পাসওয়ার্ড জেনারেট করার ফাংশন তৈরি
এই ফাংশনটি ব্যবহারকারীর পছন্দমত ক্যারেক্টার অন্তর্ভুক্ত করে একটি র্যান্ডম পাসওয়ার্ড তৈরি করবে।
def generate_password():
try:
length = int(length_entry.get())
if length <= 0:
raise ValueError("Length must be positive")
characters = string.ascii_lowercase
if include_uppercase.get():
characters += string.ascii_uppercase
if include_numbers.get():
characters += string.digits
if include_symbols.get():
characters += string.punctuation
if not characters:
messagebox.showwarning("Warning", "Please select at least one character type.")
return
password = ''.join(random.choice(characters) for i in range(length))
password_entry.delete(0, tk.END)
password_entry.insert(0, password)
except ValueError:
messagebox.showerror("Error", "Please enter a valid length.")
Step 4: কপি টু ক্লিপবোর্ড ফাংশন
এই ফাংশনটি জেনারেট করা পাসওয়ার্ডটি ক্লিপবোর্ডে কপি করবে।
def copy_to_clipboard():
password = password_entry.get()
if password:
root.clipboard_clear()
root.clipboard_append(password)
messagebox.showinfo("Copied", "Password copied to clipboard!")
else:
messagebox.showwarning("Warning", "No password to copy.")
Step 5: GUI উইজেট এবং বাটন তৈরি
Tkinter GUI-তে পাসওয়ার্ড জেনারেটর এবং কপি বাটন তৈরি করুন।
# পাসওয়ার্ড দেখানোর জন্য এন্ট্রি ফিল্ড
password_entry = tk.Entry(root, font=("Arial", 14), width=25)
password_entry.pack(pady=10)
# পাসওয়ার্ড জেনারেটর বাটন
generate_button = tk.Button(root, text="Generate Password", command=generate_password, font=("Arial", 12))
generate_button.pack(pady=10)
# কপি বাটন
copy_button = tk.Button(root, text="Copy to Clipboard", command=copy_to_clipboard, font=("Arial", 12))
copy_button.pack(pady=10)
Step 6: Tkinter মেইন লুপ চালানো
root.mainloop()
পূর্ণ কোড একসাথে
import tkinter as tk
from tkinter import messagebox
import random
import string
# মেইন Tkinter উইন্ডো তৈরি
root = tk.Tk()
root.title("Password Generator")
root.geometry("400x400")
# পাসওয়ার্ডের দৈর্ঘ্য নির্ধারণের লেবেল এবং এন্ট্রি ফিল্ড
tk.Label(root, text="Password Length:").pack(pady=5)
length_entry = tk.Entry(root, width=5)
length_entry.pack(pady=5)
# পাসওয়ার্ডে ক্যারেক্টার অন্তর্ভুক্ত করার জন্য চেকবক্স
include_uppercase = tk.BooleanVar()
include_numbers = tk.BooleanVar()
include_symbols = tk.BooleanVar()
tk.Checkbutton(root, text="Include Uppercase Letters", variable=include_uppercase).pack(anchor="w")
tk.Checkbutton(root, text="Include Numbers", variable=include_numbers).pack(anchor="w")
tk.Checkbutton(root, text="Include Symbols", variable=include_symbols).pack(anchor="w")
# পাসওয়ার্ড জেনারেট করার ফাংশন
def generate_password():
try:
length = int(length_entry.get())
if length <= 0:
raise ValueError("Length must be positive")
characters = string.ascii_lowercase
if include_uppercase.get():
characters += string.ascii_uppercase
if include_numbers.get():
characters += string.digits
if include_symbols.get():
characters += string.punctuation
if not characters:
messagebox.showwarning("Warning", "Please select at least one character type.")
return
password = ''.join(random.choice(characters) for i in range(length))
password_entry.delete(0, tk.END)
password_entry.insert(0, password)
except ValueError:
messagebox.showerror("Error", "Please enter a valid length.")
# কপি টু ক্লিপবোর্ড ফাংশন
def copy_to_clipboard():
password = password_entry.get()
if password:
root.clipboard_clear()
root.clipboard_append(password)
messagebox.showinfo("Copied", "Password copied to clipboard!")
else:
messagebox.showwarning("Warning", "No password to copy.")
# পাসওয়ার্ড দেখানোর জন্য এন্ট্রি ফিল্ড
password_entry = tk.Entry(root, font=("Arial", 14), width=25)
password_entry.pack(pady=10)
# পাসওয়ার্ড জেনারেটর বাটন
generate_button = tk.Button(root, text="Generate Password", command=generate_password, font=("Arial", 12))
generate_button.pack(pady=10)
# কপি বাটন
copy_button = tk.Button(root, text="Copy to Clipboard", command=copy_to_clipboard, font=("Arial", 12))
copy_button.pack(pady=10)
root.mainloop()
কোড ব্যাখ্যা
- Length Entry Field: পাসওয়ার্ডের দৈর্ঘ্য ইনপুট নেওয়ার জন্য একটি ইনপুট ফিল্ড আছে।
- Character Type Checkbox: ক্যারেক্টারের ধরন (বড় হাতের অক্ষর, সংখ্যা, এবং বিশেষ চিহ্ন) সিলেক্ট করার জন্য চেকবক্স আছে।
- generate_password() Function: এই ফাংশনটি ব্যবহারকারীর ইচ্ছা অনুযায়ী পাসওয়ার্ড তৈরি করে এবং ইনপুট ফিল্ডে প্রদর্শন করে।
- copy_to_clipboard() Function: তৈরি করা পাসওয়ার্ডটি ক্লিপবোর্ডে কপি করে।
- Buttons: পাসওয়ার্ড জেনারেট এবং কপি করার জন্য পৃথক দুটি বাটন রয়েছে।
উপসংহার
এই পাসওয়ার্ড জেনারেটর অ্যাপটি একটি কার্যকরী টুল যা নিরাপদ ও শক্তিশালী পাসওয়ার্ড তৈরি করতে ব্যবহার করা যায়। এটি সহজে কাস্টমাইজ করা যায় এবং আরও ফিচার যেমন পাসওয়ার্ড শক্তি যাচাই বা সংরক্ষণ ফিচার যুক্ত করা সম্ভব।
Read more