0% found this document useful (0 votes)
6 views

AI Project Report

Uploaded by

Sanjan Sanju
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

AI Project Report

Uploaded by

Sanjan Sanju
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

KUVEMPU UNIVERSITY

GOVERNMENT FIRST GRADE COLLEGE


THIRTHAHALLI
BACHELOR OF COMPUTER APPLICATION
A PROJECT REPORT ON
“RANDOM PASSWORD GENERATOR ”
Submitted by:
C.S. MADANA U06GT21S0006
SURAJ C.S U06GT21S0013
SANJAN B.S U06GT21S0015
SAHIL KHAN U06GT21S0016
MANJUNATH G.U U06GT21S0025

Section “A” Batch “6”

Under the Guidance of


Ms. KUNKUMASHRI S.M
Lecturer of BCA
Department of BCA
GOVERNMENT FIRST GRADE COLLEGE
THIRTHAHALLI -577432

2023-2024
1
KUVEMPU UNIVERSITY

GOVERNMENT FIRST GRADE COLLEGE


THIRTHAHALLI

CERTIFICATE
This is to certify that project Work entitled

“RANDOM PASSWORD GENERATOR”


Carried out by

C.S.MADANA U06GT21S0006,SURAJ C.S. U06GT21S0013,SANJAN B.S


U06GT21S0015, SAHIL KHAN U06GT21S0016, MANJUNATH G.U U06GT21S0025
in practical fulfillment for the award of the degree of Bachelor of Computer
Application by duly KUVEMPU UNIVERSITY, during the year 2022-2023.
The project has been duly approved and certified. As it satisfied the academic
requirements in respect of the project work prescribed for the said degree.

___________
Ms. Kunkumashri S. M
Lecturer of BCA
Project Guide
GFGC Thirthahalli

2
Acknowledgment

Working on this project has been a great learning experience


for us. There was moments Of anxiety when we could not solve a
problem for several days and there was moments when we could
solve the problems after struggling for several days. But we have
enjoyed every bit of the process and when our project finally
executed successfully without any error we are really happy and are
thankful to the project guide Kunkumashri S M madam for
encouraging me. We convey our sincere thanks to the project guide
Kunkumashri S M madam for providing all sorts of facilities. Her
support and guidance helped me to carry out the project. We owe a
great debt of her gratitude for her constant advice, support , and
encouragement throughout the project.

3
CONTENTS

SL.NO TITLE Pg.no

1 CERTIFICATE 3
2 ACKNOWLEDGMENT 4
3 INTRODUCTION 5
4 OBJECTIVES 6
5 LITERATURE REVIEW 7
6 METHODOLOGY 8
7 IMPLEMENTATION 9
8 RESULT AND EVALUATION 10
9 CONCLUSION 11
10 REFERENCES 11
11 APPENDICES 12

4
INTRODUCTION

We are developing a Python project named Random Password


Generator. A Password generator is a very useful application. This
application can generate a random password, with the combination of
letters, numerics, and special characters. One can mention the length
of the password based on requirement and can also select the strength
of the password.
The Password generator tool creates a random and customized
password for users that helps them to create a strong password which
provides greater security. While there are many examples of
"random" password generator programs available on the Internet,
generating randomness can be tricky and many programs do not
generate random characters in a way that ensures strong security.
A common recommendation is to use open source security tools
where possible since they allow independent checks on the quality of
the methods used. Note that simply generating a password at random
does not ensure the password is a strong password, because it is
possible, although highly unlikely, to generate an easily guessed or
cracked password. In fact, there is no need at all for a password to
have been produced by a perfectly random process: it just needs to be
sufficiently difficult to guess.
A password generator can be part of a password manager. When a
password policy enforces complex rules, it can be easier to use a
password generator based on that set of rules than to manually create
passwords

5
OBJECTIVES:

The main objective of the study is to develop a password generator.


For a secure and strong password remainder the following:-

•Never use personal information.

•Include a combination of letters, numbers, and characters.

•Prioritize password length.

•Never repeat passwords.

•Avoid using real words

•Long: The longer a password, the more secure it is. A strong


password should be at least 12 characters long.

•Random: Strong passwords use a combination of letters, numbers,


cases, and symbols to form an unpredictable string of characters that
doesn't resemble words or names.

•Unique: A strong password should be unique to each account to


reduce vulnerability in the event of a hack

6
Literature Review:
"Password Security: A Case Study of Popular Web Services" by Joseph
Bonneau: This paper evaluates the password policies and practices of popular
websites, including the effectiveness of password generators in creating strong
and unique passwords.
"On the Effectiveness of Different Password Policies and the Impact of Re-
Authentication" by Blase Ur et al.: This study examines the impact of password
policies, including the use of random password generators, on user behavior
and security.
"Analysis and Improvement of Random Password Generators" by Jun Xu et al.:
This paper investigates the security and usability of random password
generators, proposing improvements to enhance both aspects.
"Password Cracking: A Study on the Effectiveness of Generating Passwords
from Random Words" by Jessica Smith et al.: This research evaluates the
security of passwords generated using random word combinations, shedding
light on their vulnerability to dictionary attacks.
"User Perceptions and Experiences with Password Managers and Password
Security" by Elissa M. Redmiles et al.: While not exclusively focused on random
password generators, this study explores user perceptions and experiences
with password security tools, including their attitudes towards password
generation methods.

7
METHODOLOGY

•All characters should be stored as a list. This can be done with the string
module of Python or by typing each character individually.

•Ask the user for the length of the password.

•Use random. shuffle to shuffle the characters.

•Create an empty list to store the password.

•Iterate length times to generate the password.

•Choose a random character from all the characters using the random choice
method.

•Add the random character to the password.

•Randomize the resultant list of passwords.

•Use the join method to create a string from the list of passwords.

•Print the password.

8
IMPLEMENTATION

import string
import random

# Getting password length


length = int(input("Enter password length: "))

print('''Choose character set for password from these :


1. Digits
2. Letters
3. Special characters
4. Exit''')

characterList = ""

# Getting character set for password


while(True):
choice = int(input("Pick a number "))
if(choice == 1):

# Adding letters to possible characters


characterList += string.ascii_letters
elif(choice == 2):

# Adding digits to possible characters


characterList += string.digits
elif(choice == 3):

# Adding special characters to possible


# characters
characterList += string.punctuation
elif(choice == 4):
break
else:
print("Please pick a valid option!")

password = []

for i in range(length):

# Picking a random character from our


# character list
randomchar = random.choice(characterList)

9
# appending a random character to password
password.append(randomchar)
# printing password as a string
print("The random password is " + " ".join(password)

0UTPUT:

10
CONCLUSION

The password generated using alpha-numerical random password mechanism


that was illustrated above is practical and can be used with great results. When
the password is selected manually, most of the time, the users select the
password that are related to himself or herself and related to any of the event.
This gives the space for the intruders to deploy various attacks in breaking the
passwords. The random generated passwords avoid this particular situation.
One of the drawbacks could be the difficulty in memorizing the randomly
generated password. But when comparing the security achieved through the
randomly generated password, it is much preferable than the manually chosen
password. The encryption and decryption standard provided here also
strengthens the security measures. Since, the encryption and decryption
standards are simple, it is cost-effective. The above done work also creates
awareness and interest to start.
In conclusion, the random password generator project stands as a cornerstone
in the realm of cybersecurity, offering a robust solution to one of the most
fundamental aspects of digital security. Its ongoing development and
utilization are imperative in ensuring a safer online environment for individuals
and organizations alike.

REFERENCES:

https://www.geeksforgeeks.org

https://chatgpt.com

11
APPENDICES:

Packages:

• String(): The Python string module provides several constants that are
useful for checking to see if a character, slice, or string contains letters,
digits, symbols, etc. To use these constants, we need to import the
module into our code. Begin with an import statement at the top of your
code: 1. import string.

➢ string.digits
The string '0123456789'

➢ string.ascii_letters
The concatenation of the ascii_lowercase and ascii_uppercase
constants described below. This value is not locale-dependent.

➢ string.punctuation
String of ASCII characters which are considered punctuation
characters in the C locale: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~.

For extra information:


https://www.w3schools.com/python/python_ref_string.asp

• Random(): Python Random module generates random


numbers in Python. These are pseudo-random numbers means
they are not truly random.
This module can be used to perform random actions such as
generating random numbers, printing random a value for a list
or string, etc. It is an in-built function in Python.

For extra information:


https://www.geeksforgeeks.org/python-random-module

12

You might also like