CSProject SN
CSProject SN
NAME : S. NILOGINI
Roll NO :
GRADE : XII
SESSION : 2024-2025
1
CERTIFICATE
This project is submitted for the project evaluation and viva voce held on
External Examiner
2
ACKNOWLEDGEMENT
I firmly believe that it is through the grace and blessings of the Lord
that I have been able to accomplish this endeavor.
Last, but not the least, my sincere thanks, from the depth of my heart
goes to my Friends and family, for their continuous moral strength, support
and encouragement throughout the journey of this project.
3
TABLE OF CONTENTS
Page
Sl no Chapter
1 Aim of the Project
1
2 Introduction
2
3 Software and Hardware Requirements
3
4 Python
4
5 Modules and their purposes
9
6 Design Work (Data Formats, Context Level Programs)
11
7 Algorithm
12
8 Source Code
14
9 Input and Output Screens
17
10 Advantages of the Project
18
11 Conclusion
19
12 Further Development Areas
20
13 Bibliography
21
4
PASSWORD GENERATOR
AIM
TodesignandimplementaPythonprogramthatgeneratesarandom,securepasswordbasedon
user-defined requirements (such as length, use of special characters, numbers, and letters).
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1
INTRODUCTION
Apasswordgeneratorisasoftwaretoolthatcreatesrandomorcustomizedpasswordsfor
users. It helps users create stronger passwords that providegreatersecurityforagiventypeof
access,Somepasswordgeneratorsaresimplyrandom.Theseprogramsproducecomplex/strong
passwords with combinations of numbers, uppercase and lowercase letters, and special
characters such as braces, asterisks, slashes, etc.
Passwordgeneratorshelpthosewhohavetoconstantlycomeupwithnewpasswordsto
ensure authorized access to programs and to manage a large numberofpasswordsforidentity
and access management.
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2
SOFTWARE AND HARDWARE REQUIREMENTS
SOFTWARE REQUIREMENTS:
Software : Python
HARDWARE REQUIREMENTS:
4GB RAM
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3
PYTHON
WHAT IS PYTHON?
Python is a popular programming language. It was created by Guido vanRossum,and
released in 1991. It is used for:
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4
4. Object-Oriented and Functional:
Python supports both object-oriented and functional programming paradigms. This
allows developers to choose the most suitable approach for their specific needs.
5. Cross-Platform:
Python can run on various platforms like Windows, macOS, and Linux without needing
to change the code.
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
5
create data visualizations, and build machine learning models.
6. Cybersecurity:
Python is often used for writing scripts for penetration testing, creating security tools,
and automating tasks in the cybersecurity field.
return a + b
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
6
# Adding the numbers
Advantages of Python:
WHY PYTHON?
● Python works on different platforms (Windows, Mac, Linux, Raspberry Pi, etc).
● Python has a simple syntax similar to the English language.
● Python has a syntax that allows developers to write programs with fewer lines than some
other programming languages.
● Python runs on an interpreter system, meaning that code can be executed as soon as it is
written. This means that prototyping can be very quick.
● Python can be treated procedurally, in an object-oriented way, or in a functional way.
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
7
PYTHON SYNTAX COMPARED WITH OTHER LANGUAGES
● Python was designed for readability and has some similarities to the English language
with influence from mathematics.
● Python uses new lines to complete a command, as opposed to other programming
languages which often use semicolons or parentheses.
● Python relies on indentation, using whitespace, to define scope; such as the scope of
loops, functions, and classes. Other programming languages often use curly brackets for
this purpose.
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
8
MODULES AND ITS PURPOSE
Themodulesthatareusedinthisprogramtogeneratearandompasswordareasfollows:
CSV, Tkinter, paperclip, random, andstring.Toinstallthelibrarieswecanusethepipinstaller
from the command line
Csv MODULE:
CSVisthemostcommonimportandexportformatforspreadsheetsanddatabases.Acsv
filestorestabulardata(numbersandtext)inplaintext.Eachlineofthefileisadatarecord.Each
record consists of one or more fields, separated by commas.
Tkinter MODULE:
Tkinter is a standard GUI library and is one of the easiest ways to build a GUI
application. Tkinter provides a powerful object-oriented interface to the TK GUI toolkit.
Pyperclip MODULE:
pyperclip module allows us to copy and paste text to and from the clipboard to your
computer. The pyperclip module has copy() and paste() functions that can send text to and
receivetextfromyourcomputer'sclipboard.Sendingtheoutputofyourprogramtotheclipboard
will make it easy to paste it on an email, word processor, or some other software.
Random MODULE:
Therandommoduleisabuilt-inmoduletogeneratethepseudo-randomvariables.Itcan
be used to perform someactionsrandomlysuchasgettingarandomnumber,selectingrandom
elements from a list, shuffling elements randomly, etc.
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
9
String MODULE:
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
10
DESIGN WORK (DATA FORMAT, CONTEXT LEVEL
DIAGRAMS)
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
11
ALGORITHM
It imports the required libraries tkinter, CSV, string, pyperclip, and random in Python for the
program to function.
● Pass_len is an integer type variable that stores the length of a password.
● To select the password length we use Spinbox() widget.
● Spinbox()widgetisusedtoselectfromafixednumberofvalues.Herethevaluefrom8
to 32
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
12
● Firstloopwillgenerateastringoflength4whichisacombinationofanuppercaseletter,
a lowercase letter, digits, and a special symbol and that string will store in password
variable.
● Thesecondloopwillgeneratearandomstringoflengthenteredbytheuser-4andaddto
the password variable. Here we minus 4 to the length of the user because we already
generate the string of length 4.
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
13
SOURCE CODE
#importing Libraries
import csv
import pyperclip
###initialize window
root-Tk()
root geometry("400x400")
root.resizable(0,0)
root.title("QMIS-PASSWORD GENERATOR")
#heading
headingLabel(root,text'PASSWORDGENERATOR',font'arial15bold).pack()Label(root,text
-QMIS", font='arial 15 bold').pack(side-BOTTOM)
pass_len IntVar()
#####define function
pass_str= StringVar()
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
14
def Generator():
wtrcsv.writer(file2, delimiter','")
for x in range(100):
password-
random.choice(string.ascii_uppercase)+random.choice(string.ascii_lowercase)+random.choice(st
ring.digits)+random.choice(string.punctuation)
for y in range(pass_len.get()-4):
wtr.writerow([password])
###button
def Generator():
password="
password =
random.choice(string.ascii_uppercase)+random.choice(string.ascii_lowercase)+random.choice(st
ring.digits)+random.choice(string.punctuation)
for y in range(pass_len.get()-4):
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
15
password password+random.choice(string.ascii_uppercase + string ascii_lowercase +
string.digits + string.punctuation)
pass_str.set(password)
###button
########function to copy
def Copy_password():
pyperclip.copy(pass_str.get())
root.main loop()
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
16
INPUT & OUTPUT
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
17
ADVANTAGES OF PROJECT
Having a weak password is not good for a system which demandshighconfidentiality
and security of user credentials. It turns out that people find it difficult making up a strong
password which is strong enough to prevent unauthorized users from memorizing it. Thus, a
passwordgeneratorhelpstogenerateastandardpasswordwhichcomestomeetsallthecriteria
of a strong password.
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
18
CONCLUSION
We have successfully developed the password generator python project. We used the
popular tkinter library for rendering graphics on a display window and we also learned about
pyperclip, string, csv and random library. We learned how to create buttons, input text field,
labels, and spinbox.
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
19
FURTHER DEVELOPMENT AREAS
● Taking opinions from the user or hints for getting a further stronger password with
desired characters,
● The strength checker displays the strength of the generated password to assure the user.
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
20
BIBLIOGRAPHY
Melakkal Road, Kochadai, Madurai 625 019, India +91 96557 77000 [email protected] www.queenmira.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
21