Aditya Kokate
Aditya Kokate
Report On
PASSWORD GENERATOR
Under Course:Python Programing (314004)
Semester: 4th
Maharashtra State Board of Technical Education,
Mumbai
Department ofComputer
1
CERTIFICATE
This is to certify that following students of FOURTH SEMESTER Diploma in
Computer Engineering have successfully completed the Micro-Project entitled
“Password Generator” under my supervision, in the partial fulfillment of
Course Python Programing (314004) for Academic Year 2024-2025 as per
prescribed in the MSBTE “K-Scheme” curriclum.
Roll No Enrollment No. Exam Seat Name of Students
Number
2
ACKNOWLEDGEMENT
With deep sense of gratitude we would like to thanks all the people who have
lit our path with their kind guidance. We are very grateful to these
intellectuals who did their best to help during our project work.
Name of Students:
3
MATOSHRI AASARABAI POLYTECHNIC, EKLAHARE,
NASHIK
Department of Computer
Index of Micro Project Report
Sr.
Details Page No.
No.
Rubrics
1 5
2 Logbook 7
Signature of Faculty
4
ANNEXURE I
Rubric for Evaluation of Micro Project of Python(22516)
(Ms.P.V.Jadhav)
Name & Sign of Course
Teacher
5
ANNEXURE II
Evaluation Sheet for the Micro Project
Academic Year: 2024-2025 Semester: Fourth
a) Practical Outcomes:-
• Develop a real-life mini project using Python
• Apply file handling and user interaction in Python
b) Unit Outcomes in Cognitive Domain:-
Apply logic and Python Programing Code
c) Outcomes in Affective Domain:-
Follow Precautionary Measures
Demonstrate Working As a Leader / A Team Member Follow ethical
Practices
Marks
out of 6 Total
Marks out of 4for
for
Roll Enrollment Exam performance in marks
Student Name performa
No. No. Seat No. oral/presentation out of
nce in
activity 10
group
activity
02 23611810194 491993 Riya Subash Bhoye
03 23611810199 491998 Pranali Ashok Ghuge
(Ms.P.V.Jadhav)
(Name & Sign of Faculty)
6
MATOSHRI AASARABAI POLYTECHNIC,EKLAHARE,NASHIK
Department of Computer Log Book for Micro- Project
Semester: Fourth Programme: CO4k
Member
Week Teacher’s
Discussion & Details s Teacher’s Comment
No. Sign.
Present
Discussion on the concept of Micro Discussed micro
1 5 project concept
project with teacher
Finalization of Group and Project topic
2 5 Finalized the group
with Project Proposal submission
Preliminary discussion with guide about 5
3 Discussed with guide
content of Micro project
Related Information Gathered by team 5
4 Gathered information
about project
Organizing the information for project 5 Organized the
5
work information
Discussing project related queries with 5
6 Discussed the queries
teacher if any
Preparation of Micro project model or 5
7 Prepared micro project
content
5 Completed report
9 Report writing
writing
Presentation and Oral on project by group 5 GavePresentation
10
members submitted project .
(Ms.P.V.Jadhav)
(Name & Sign of Faculty)
7
Abstract
In today's digital age, ensuring the security of online accounts is of utmost
importance. One fundamental aspect of cybersecurity is the use of strong,
unpredictable passwords. This project focuses on developing a Password Generator
using Python that allows users to create secure, random passwords based on
customizable parameters.
The application enables users to specify the desired length of the password and
choose whether to include letters (uppercase and lowercase), digits, and special
symbols. The password is then generated using Python’s built-in random and string
libraries to ensure randomness and complexity.
This project not only highlights the importance of strong password practices but also
provides an easy-to-use tool for creating secure credentials. It can be extended with
features like a graphical user interface (GUI), password strength analysis, clipboard
copying, or even integration into a password management system.
8
Introduction
In the era of rapid digital transformation, securing personal and professional
data has become more critical than ever. One of the most common and
essential methods of protecting information is through the use of
passwords. However, many users tend to create weak or easily guessable
passwords, making their accounts vulnerable to hacking and cyberattacks.
9
Therotical Background
The Password Generator project is rooted in several theoretical areas of computer
science and cybersecurity, including random number generation, character
encoding, string manipulation, and password security principles. This section
outlines the key concepts that form the foundation of the project.
Sure! Here's a more detailed look into the theoretical background of *password
generators*, expanding on the cryptographic, mathematical, and practical
considerations:
---
- Example:
- Using 62 characters (A–Z, a–z, 0–9),
- Password length = 12,
- Entropy ≈ 12 × log₂(62) ≈ 71.5 bits.
---
- *Unpredictable*: Even if part of the output is known, the rest is still secure.
- *Secure*: Resistant to reverse-engineering.
10
- Examples:
- *Python*: secrets module or os.urandom()
- *JavaScript*: crypto.getRandomValues()
- *Java*: SecureRandom
---
3. Brute-Force Resistance*
---
---
11
- Random, long passwords are secure but hard to remember.
- Passphrases (e.g., "CorrectHorseBatteryStaple") strike a balance—high entropy
and somewhat memorable if generated randomly from a large word list.
---
---
---
12
Program code:
import random
import string
if not char_pool:
return "Error: No character set selected"
if _name_ == "_main_":
print("Welcome to the Password Generator!")
length = int(input("Enter password length: "))
use_upper = input("Include uppercase letters? (y/n): ").lower() == "y"
use_lower = input("Include lowercase letters? (y/n): ").lower() == "y"
use_digits = input("Include numbers? (y/n): ").lower() == "y"
use_special = input("Include special characters? (y/n): ").lower() == "y"
13
Output:
14
Conclusion
Overall, this project not only provides a practical tool for everyday use
but also highlights the critical role of secure password practices in
maintaining digital privacy. Moving forward, future improvements
could include the integration of password management features,
mobile compatibility, and advanced security checks, making the tool
even more robust and accessible for a wider audience.
15
Reference
16