0% found this document useful (0 votes)
62 views16 pages

Password Gen

The document describes a password generator project. It includes an introduction that discusses the need for password generators to create secure passwords. It then discusses the software and hardware requirements needed to build the password generator. The document outlines the modules used in the project, including a password generation module and strength checking module. It provides details on how the password generation module works by generating random passwords based on user-selected character types and lengths. It also describes how the strength checking module analyzes passwords to determine their security. Overall, the document provides an overview of a password generator project that can create secure, random passwords and check existing password strength.

Uploaded by

Kaal Bg
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views16 pages

Password Gen

The document describes a password generator project. It includes an introduction that discusses the need for password generators to create secure passwords. It then discusses the software and hardware requirements needed to build the password generator. The document outlines the modules used in the project, including a password generation module and strength checking module. It provides details on how the password generation module works by generating random passwords based on user-selected character types and lengths. It also describes how the strength checking module analyzes passwords to determine their security. Overall, the document provides an overview of a password generator project that can create secure, random passwords and check existing password strength.

Uploaded by

Kaal Bg
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

lOMoARcPSD|29912144

RPG Synopsys

Computer Engineering (Government Polytechnic, Nagpur)

Studocu is not sponsored or endorsed by any college or university


Downloaded by Kaal Bg ([email protected])
lOMoARcPSD|29912144

GOVERNMENT POLYTECHNIC EDUCATION SOCIETY


MANESAR

SUBMITTEDB BY:- TARUN SINGH

BRANCH:- COMPUTER SCIENCE

SEMESTER:- 6TH SEMESTER (FINAL YEAR)

SUBMITTED TO :- MRS. REENA MAM

Downloaded by Kaal Bg ([email protected])


lOMoARcPSD|29912144

My Sincere efforts have made me to accomplish the task


of completing this project. I have taken efforts in this
project. However, it would not have been possible
without the kind support and help of many individuals.

I would like to express my sincere gratitude to our guide


teacher Mrs. Pooja mam and the college for providing
me with facilities required to do my project.

I am highly indebted to my Teacher Mrs. KRISHMA


mam for her valuable guidance which has promoted
my efforts in all the stages of this project work. My
thanks and Assistant in developing my project and to
the people who have willingly helped me out with
their abilities.

Finally, words are not sufficient to express gratitude


my cherished family members for support me without
their encouragement and support I would have not
reached this stage.

Downloaded by Kaal Bg ([email protected])


lOMoARcPSD|29912144

Table of Contents

i.Abstract
ii.Problem Definition
iii.Introduction
iv. Software Requirements
v. Platform Installation and language
uses
vi. Description of the modules used
vii. References
viii. Conclusion and Future Scope

Downloaded by Kaal Bg ([email protected])


lOMoARcPSD|29912144

Abstract

Text password is a very common user authentication technique. Users face a major problem, namely

that of many site-unique and strong (i.e. non-guessable) passwords. One way of addressing this is by

using a password generator which generates (and regenerates) site-specific strong passwords on

demand, with minimal user input. Password Generator enables the generation of passwords that meet

important real world requirements, including forced password changes, use of pre-specified characters,

displaying the number of characters used in password and checking passwords strength.

Problem Definition

In this project our motto is to generate a random password based on user’s need. User will input his/her

need of no of digits, special character, small alphabets, capital alphabets and based on these numbers a

random password will be generated. After generating the random password a button of ‘Copy to

Clipboard’ will provide the functionality of copying the generated password to our clipboard.

It also enables the users to check the strength of their passwords that they have had used on their

multipurpose sites. It enables user to check the character they have used to create the password.

Downloaded by Kaal Bg ([email protected])


lOMoARcPSD|29912144

Introduction

Passwords remain a very widely used method for user authentication, despite widely shared concerns
about the level of security they provide. There are many potential replacement technologies, including
combinations of biometrics and trusted personal devices, but it seems likely that it will be some time
before passwords are relegated to history. Given their current and likely future wide use, finding ways of
improving the use and management of passwords remains a vitally important issue. We focus here on
an important practical matter, namely how to make password more secure and more convenient.
Passwords can be stored either locally or on a trusted server; most browsers provide a local-storage
password manager. However, the shortcomings of password managers have also been widely
documented.

Password Generator enables the user to generate the password of their choice like the number of
words, small case alphabets, digits, etc. A Clipboard enables user to copy the password that is generated
using the Password Generator. It also enables the user to check the strength of the passwords. It also
displays the no. Of characters, no of alphabets, and no of symbols used in the passwords.

Downloaded by Kaal Bg ([email protected])


lOMoARcPSD|29912144

• Software/ Hardware requirement specification:-

Software requirements pycharm

Python IDE

Hardware requirements

RAM: 512 MB or more

Hard disk: 16 GB or more

Development requirements

Visual studio• Python IDE • Windows 7/. •

Platform Installation and language uses

Downloaded by Kaal Bg ([email protected])


lOMoARcPSD|29912144

Downloaded by Kaal Bg ([email protected])


lOMoARcPSD|29912144

Downloaded by Kaal Bg ([email protected])


lOMoARcPSD|29912144

Downloaded by Kaal Bg ([email protected])


lOMoARcPSD|29912144

Downloaded by Kaal Bg ([email protected])


lOMoARcPSD|29912144

What is Python?
Python is an interpreted, object-oriented, high-level programming language with
dynamic semantics developed by Guido van Rossum. It was originally released in
1991. Designed to be easy as well as fun, the name "Python" is a nod to the British
comedy group Monty Python. Python has a reputation as a beginner-friendly
language, replacing Java as the most widely used introductory language because it
handles much of the complexity for the user, allowing beginners to focus on fully
grasping programming concepts rather than minute details.

Python Use Cases

• Creating web applications on a server


• Building workflows that can be used in conjunction with software
• Connecting to database systems
• Reading and modifying files
• Performing complex mathematics
• Processing big data
• Fast prototyping
• Developing production-ready software

Features and Benefits of Python

Compatible with a variety of platforms including Windows, Mac, Linux,


Raspberry Pi, and others
Uses a simple syntax comparable to the English language that lets developers
use fewer lines than other programming languages
Operates on an interpreter system that allows code to be executed
immediately, fast-tracking prototyping
Can be handled in a procedural, object-orientated, or functional way

Downloaded by Kaal Bg ([email protected])


lOMoARcPSD|29912144

• Description of the modules used

Description of Module_1 (Password_Generator):

In this module we have imported tkinter package and its modules, pyperclip module,random
module.Then initialize tkinter using Tk() method.

A variable of string type has been declared named ‘passstr’ to store the generated password.

Similarly 4 variables of integer type has been declared named −≫’passlen_smallalpha’


,’passlen_bigalpha’ ,’passlen_digits’, ‘passlen_specialcharac’ to store the length of small alphabet
characters, capital alphabet characters, digits, special characters which the user will input on his/her
choice. The above four variables are set to zero initially using IntVar()

A user-defined-function to generate a password will be used named ‘generate()’. We have declared four
list −≫ pass1, pass2, pass3, pass4 which will be having small alphabet characters, capital alphabet
characters, digits, special characters as elements in their respective list. A password string is declared,
which is initially empty, ‘mylist’ list will consist of pass1, pass2, pass3, pass4 as its elements.

Then an infinite While-loop is runned which will append the characters to the ‘password’ string one by
one & will terminate on a specific condition, condition of all big, small, digits, special variables being
equal to zero(0).

In while loop the ‘mylist’ list is shuffled and then the shuffled list is copied to ‘list1’ list.

So the ‘list1’ is a list having four lists in it(nested lists).Every first element of the nested-lists will be
checked to identify the type of elements of that list.

A For-loop is iterating for four times(from 0 to 3) with the second-indexing being fixed to zero
(list1[q][0])as there are four-nested lists. As we check the first element of the first nested-list, the
corresponding list is taken (pass1 or pass2 or pass3 or either pass4) and character is taken randomly
using random.choice() function ,from that list. And that character is appended to ‘password’ string. And
the corresponding variable is decremented by 1.

Similarly we proceed forward for the remaining three 3 nested lists. Again the While-loop runs, again the
‘mylist’ list is shuffled and copied to ‘list1’ list the same procedure continues. And we proceed forward
for the remaining three 3 nested lists.

Finally this While-loop is terminated when condition1 is true.

(condition1=(small==0 and big==0 and digits==0 and special==0)).And the password is set to passstr
using passstr.set() function.

Downloaded by Kaal Bg ([email protected])


lOMoARcPSD|29912144

• Description of Module_2(Strength_Checker) -

This module is used to tell the user the strength percent of his/her input password.

As the user inputs his password in the text-field and click on ‘Check’ button. A percentage will be
displayed indicating the strength of the password. And with the percentage a color box will also be
displayed, red color indicates-weak password, yellow color indicates-medium password, green color
indicates-strong password.

• Description of Module_3
(Check_character):

1)Import Libraries

From tkinter import * import random

2)Initialize window root=Tk()

Root.geometry(‘400x400’)

−≫Tk() : It is use to initialize tkinter and create window.

−≫geometry() : It is use to set the width and height of the window.

3)Inside check_ch function() for i in range (len(string)): if(string[i].isalpha()):


alphabets=alphabets+1 elif(string[i].isdigit()): digits=digits+1 else:

Special=special+1

−≫.isalpha() : It is use to check character is alphabet or not.

−≫.isdigit() : Its is use to check character is digit or not.

−≫Variable i start from 1st character to last character and pass each character to if condition.

In if condition if character is alphabet than alphabet will increment by 1 else if it is digit than digits
variable get increment by 1 and if both condition will false than special variable get increment by 1.This
process will get repeat until i variable reach at last character in a string.

L1=Label(root, text={“ alphabets “,alphabets})

L1.pack() L2=Label(root, text={“ digits “,digits}) l2.pack()

Downloaded by Kaal Bg ([email protected])


lOMoARcPSD|29912144

L3=Label(root, text={“ special symbol “,special})

L3.pack()

−≫Label() : It is use to display the the text that users can not modify.

−≫root : It is a name given by programmer to our window.

Label=Label(root, text=” Enter your password “) label.pack()

Entry=Entry(root, textvariable=””) entry.pack()

Button=Button(root, text=”Check Character”, command= check_ch) button.pack()


root.mainloop()

−≫text : Which we display on the label.

−≫Entry() : It will create input filled for user.

−≫Button() : Use to display the button on our window.

−≫command() : It will work when button is click.

−≫textvariable : It is use to retrieve the text to the entry.

References

[1] https://docs.python.org/3/library/tkinter.html
[2] https://www.tutorialspoint.com/python3/python_gui_programming.htm
[3] https://www.geeksforgeeks.org/python-tkinter-tutorial/
[4] https://www.geeksforgeeks.org/python-strings/
[5] https://stackoverflow.com/questions/51777956/link-gui-to-main-class

• Conclusion and Future Scope

With these steps, we have successfully created a random password generator project using python. We
used popular tkinter library to rendering graphics in our display window and we also learned about
pyperclip and random library.

We learned how to create buttons, input text field and labels. In this way, we successfully created our
password generator python project.

Downloaded by Kaal Bg ([email protected])


lOMoARcPSD|29912144

Downloaded by Kaal Bg ([email protected])

You might also like