0% found this document useful (0 votes)
11 views13 pages

AJP Micro-Project

RAndom Password generator

Uploaded by

mayurkove428
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)
11 views13 pages

AJP Micro-Project

RAndom Password generator

Uploaded by

mayurkove428
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/ 13

MICRO-PROJECT REPORT ON

“Random Password Generator”


In partial fulfilment of Diploma in Computer Engineering
(Fifth Semester)

In the subject of
Advanced Java Programming ( 22517 )

Submitted By
Sanjay R. Uike

Mayur G. Kove

Sumit D. Wankhede

Submitted To

Maharashtra State Board of Technical Education, Mumbai

Under the Guidance of


Mr. P. U. Malve

Lecturer In Department of Computer Engineering


Government Polytechnic, Arvi Dist.-Wardha
(2024-25)
Government Polytechnic, Arvi
Department of Computer Engineering

Certificate

This is to certify, that student whose name is mentioned below of Fifth Semester of
Diploma in Computer Engineering has satisfactorily completed the Micro-project
entitled “Random Password Generator using AWT Components” in Advanced Java
Programming (22517) of the academic year 2024-25 as prescribed in MSBTE
curriculum.

Roll Number Name of Student Enrollment No.


10 Sanjay Ramkishor Uike 2201320207
22 Mayur Gopal Kove 2201320239
77 Sumit Dilip Wankhede 23310250275

Subject Teacher Head of the Department Principal


Mr. P. U. Malve Dr. M. A. Ali Dr. M. A. Ali

Place: Arvi
Date:
Declaration

I under signed hereby declare that the micro-project report entitled “Random Password
Generator”. I further declare that contents of this report are properly citied and well
acknowledge. This present report is not submitted to any other examination of this or any
other institute for the award of any diploma.

Name of Student Signature

Sanjay Ramkishor Uike

Mayur Gopal Kove

Sumit Dilip Wankhede

Place: Arvi
Date:
Part - A : Project Proposal
Random Password Generator

1. Brief Introduction:

A random password generator is a software program or hardware device that takes input from a
random or pseudo-random number generator and automatically generates a password. Random
passwords can be generated manually, using simple sources of randomness such as dice or coins, or
they can be generated using a computer.

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. 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.

2. Aim of Micro Project : Random Password Generator

3. Intended Course Outcomes

C.O. a) Develop program using GUI framework (AWT and Swing).


C.O. b) Handle events of AWT and Swing Components.
C.O. c) Develop Java Programs to handle events in Java Programming.

4. Literature Review

In the realm of Java programming, AWT (Abstract Window Toolkit) and Swing components have played
pivotal roles in shaping the graphical user interface landscape. AWT, introduced in the early days of
Java, provided a simple way to create graphical interfaces but had limitations in terms of flexibility and
customization. The advent of Swing, an extension of AWT, revolutionized GUI development in Java by
offering a rich set of customizable, lightweight components. These advancements paved the way for the
creation of diverse applications, ranging from basic tools to complex software systems. Previous works
in the field have showcased the versatility of AWT and Swing, with developers leveraging these
technologies to build intuitive interfaces for applications such as calculators. Researchers and developers
have explored various design patterns, usability principles, and coding techniques to optimize the user
experience when crafting GUI applications with AWT and Swing components..

Examining previous case studies, it becomes evident that the design of a Random Password Generator
using AWT and Swing components requires a deep understanding of both technologies. Developers
have delved into the intricacies of event handling, layout management, and component
customization to create
calculators that are not only functional but also aesthetically pleasing. These studies have highlighted
the importance of responsive design, error handling, and user feedback mechanisms in calculator
applications. By analyzing these past endeavors, a foundation is established for the current study,
providing valuable insights into best practices and potential challenges faced by developers working on
similar projects.

AWT and Swing in the rapidly evolving landscape of GUI development. Despite the emergence of
modern frameworks and libraries, the simplicity, reliability, and ease of use offered by AWT and Swing
continue to attract developers, especially in educational contexts and smaller-scale applications. Studies
have also explored the integration of AWT and Swing with other Java technologies, such as servlets and
databases, showcasing the versatility of these tools in building more complex and interconnected
systems. Additionally, literature underscores the importance of user-centered design principles when
developing calculators and similar applications. User feedback, ergonomic considerations, and
accessibility features have been focal points in the research, emphasizing the significance of creating
interfaces that cater to diverse user needs and preferences. This body of knowledge provides a solid
foundation for the current study, guiding the design and implementation of an effective, user -friendly
Random Password Generator using AWT and Swing components.

5. Proposed Methodology:

 Analyze security level of in case of determine the length of password.


 Design the system architecture with necessary components.
 Select and procure suitable technologies for sensors.
 Install the sensors and deploy the software.
 Train users and provide support materials.
 Monitor performance and make improvements based on feedback.

6. Resources Required

Sr. No. Name of Resource Specifications Quantity

Computer (intel i5 10th gen), RAM 8GB


1 Computer System 1

2 Operating system Windows 10 1

3 IDE VS Code 1
7. Action Plan

Name of
Sr. No. Details of Activity Planned Start Planned Finish Responsible Team
Date date Members

Discussion and Finalization of


1. the Project Title All

All
2. Preparation of Abstracts

All
3. Literature Review
All
4. Collection of Data

All
5. Discussion and Outline of
Content

All
6. Rough Writing of the Projects
Contents

All
7. Editing and Proof Reading of
the Contents

All
8. Final Completion of the Project

8. Group Members

Roll No. Enrollment No. Name Signature


10 2201320207 Sanjay Ramkishor Uike
22 2201320239 Mayur Gopal Kove
77 2201320275 Sumit Dilip Wankhede
Part- B: Microproject Report

1. Rationale

Designing a Random Password Generator AWT and Swing components in Java offers a
straightforward and platform-independent solution. AWT provides fundamental building blocks, while
Swing extends capabilities, enabling the creation of intuitive user interfaces. These components simplify
the development process, making it accessible to beginners, and their ease of use, coupled with robust
event handling and layout management, ensures a seamless user experience. The rich set of features,
extensive documentation, community support, and integration with Java IDEs make AWT and Swing a
rational choice for building basic calculators and similar graphical applications.

AWT and Swing components are a popular choice for designing Random Password
Generator in Java due to their user-friendly nature and wide adoption in the industry. These
components offer a comprehensive set of tools for building graphical user interfaces, making it relatively
easy for developersto create visually appealing and interactive applications. They also provide platform
independence, ensuring that the application works seamlessly across various operating systems.

The rich set of features in AWT and Swing includes a variety of widgets, layout managers,
and event handling mechanisms, which collectively simplify the development process. This is
particularly advantageous for beginners and seasoned developers alike, as it allows for the creation of
intuitive and responsive user interfaces without the need for extensive low-level coding. In summary,
AWT and Swing empower developers to deliver consistent and user-friendly random password
generator with a focus on aesthetics, functionality, and cross-platform compatibility.

2. Aim of Micro Project : Random Password Generator

3. Course Outcomes Addressed:

C.O. a) Develop program using GUI framework (AWT and Swing).


C.O. b) Handle events of AWT and Swing Components.
C.O. c) Develop Java Programs to handle events in Java Programming.

4. Literature Review:

In the realm of Java programming, AWT (Abstract Window Toolkit) and Swing components have played
pivotal roles in shaping the graphical user interface landscape. AWT, introduced in the early days of
Java, provided a simple way to create graphical interfaces but had limitations in terms of flexibility and
customization. The advent of Swing, an extension of AWT, revolutionized GUI development in Java by
offering a rich set of customizable, lightweight components. These advancements paved the way for the
creation of diverse applications, ranging from basic tools to complex software systems. Previous works
in the field have showcased the versatility of AWT and Swing, with developers leveraging these
technologies to build intuitive interfaces for applications such as calculators. Researchers and developers
have explored various design patterns, usability principles, and coding techniques to optimize the user
experience when crafting GUI applications with AWT and Swing components.
Examining previous case studies, it becomes evident that the design of a Random Password Generator
using AWT and Swing components requires a deep understanding of both technologies. Developers
have delved into the intricacies of event handling, layout management, and component
customization to create calculators that are not only functional but also aesthetically pleasing. These
studies have highlighted the importance of responsive design, error handling, and user feedback
mechanisms in calculator applications. By analyzing these past endeavors, a foundation is established
for the current study, providing valuable insights into best practices and potential challenges faced by
developers working on similar projects.

AWT and Swing in the rapidly evolving landscape of GUI development. Despite the emergence of
modern frameworks and libraries, the simplicity, reliability, and ease of use offered by AWT and Swing
continue to attract developers, especially in educational contexts and smaller-scale applications. Studies
have also explored the integration of AWT and Swing with other Java technologies, such as servlets and
databases, showcasing the versatility of these tools in building more complex and interconnected
systems. Additionally, literature underscores the importance of user-centered design principles when
developing calculators and similar applications. User feedback, ergonomic considerations, and
accessibility features have been focal points in the research, emphasizing the significance of creating
interfaces that cater to diverse user needs and preferences. This body of knowledge provides a solid
foundation for the current study, guiding the design and implementation of an effective, u ser-friendly
Random Password Generator using AWT and Swing components.

5. Actual Procedure Followed

1. Environment Setup: Install Java Development Kit (JDK) and an Integrated Development
Environment (IDE).

2. GUI Component Creation: Use AWT and Swing classes to create buttons, text fields, and
labels.

3. Event Handling: Implement action listeners to respond to user interactions like button clicks.

4. Layout Management: Utilize layout managers (e.g., BorderLayout, GridLayout) for


organizing components.

5. User Input and Output: Capture user input from buttons, process calculations, and display
results in text fields.

6. Testing and Debugging: Thoroughly test the password, identify and fix errors through
debugging.

7. Refinement and Optimization: Optimize the code for efficiency, eliminate redundancies, and
improve readability.

8. Documentation: Add comments and documentation to explain code logic and functionality.

9. Deployment: Deploy the application as a standalone executable or integrate it into larger Java
programs.
6. Actual Resources Used

Sr. No. Name of Resource Specifications Quantity


Computer (intel i5 11th
1 Computer System gen), RAM 8GB 1

2 Operating system Windows 11 1

3 IDE VS Code 1

Java Code:

import java.awt.*;

import java.awt.event.*;

import java.security.SecureRandom;

public class PasswordGeneratorAWT extends Frame implements ActionListener {

private static final String UPPERCASE = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

private static final String LOWERCASE = "abcdefghijklmnopqrstuvwxyz";

private static final String DIGITS = "0123456789";

private static final String SPECIAL_CHARS = "!@#$%^&*()-_=+<>?";

private static final int PASSWORD_LENGTH = 12;

private TextField passwordField;

private Button generateButton;

public PasswordGeneratorAWT() {

setTitle("Password Generator");

setSize(400, 200);
setLayout(new FlowLayout());

setBackground(new Color(230, 230, 250));

passwordField = new TextField(20);

passwordField.setFont(new Font("Arial", Font.PLAIN, 16));

passwordField.setBackground(Color.WHITE);

passwordField.setForeground(Color.BLACK);

generateButton = new Button("Generate Password");

generateButton.setFont(new Font("Arial", Font.BOLD, 14));

generateButton.setBackground(new Color(100, 149, 237));

generateButton.setForeground(Color.WHITE);

generateButton.setPreferredSize(new Dimension(150, 40));

add(passwordField);

add(generateButton);

generateButton.addActionListener(this);

setVisible(true);

setResizable(false);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent we) {

System.exit(0);

});

@Override

public void actionPerformed(ActionEvent e)


{

passwordField.setText(generatePassword());

private String generatePassword() {

SecureRandom random = new SecureRandom();

StringBuilder password = new StringBuilder(PASSWORD_LENGTH);

password.append(randomChar(random, UPPERCASE));

password.append(randomChar(random, LOWERCASE));

password.append(randomChar(random, DIGITS));

password.append(randomChar(random, SPECIAL_CHARS));

String allCharacters = UPPERCASE + LOWERCASE +

DIGITS +SPECIAL_CHARS;

for (int i = 4; i < PASSWORD_LENGTH; i++) {

password.append(randomChar(random, allCharacters));

return shuffleString(password.toString(), random);

private char randomChar(SecureRandom random, String characters) {

return characters.charAt(random.nextInt(characters.length()));

private String shuffleString(String input, SecureRandom random) {

char[] passwordArray = input.toCharArray();

for (int i = 0; i < passwordArray.length; i++) {

int randomIndex = random.nextInt(passwordArray.length);

char temp = passwordArray[i];

passwordArray[i] = passwordArray[randomIndex];
passwordArray[randomIndex] = temp;

return new String(passwordArray);

public static void main(String[] args) {

new PasswordGeneratorAWT();

Output:-
7. Skill Developed:

• Solving complex problems by breaking them into parts and steps.


• Planning and time management.
• Refined understanding through discussion and explanation.
• Developed stronger communication skills.
• Delegated roles and responsibilities.

8. Conclusion:

The Random Password Generator microproject serves as a comprehensive solution for generate the
strong password . In a world where our digital security is constantly under threat, using tools like a free
password generator can provide an added layer of protection.

It’s a simple step that can make a significant difference in safeguarding your online presence.
Remember, the strength of your password is often the difference between keeping your data secure and
becoming a victim of cyber threats. Strong passwords are important because they help prevent
unauthorized access to personal information and accounts. This is especially important for accounts
containing sensitive information, such as financial email and social media accounts.

9. References:

• https://www.geeksforgeeks.org/random-password-generator/
• https://stackoverflow.com/questions/8951016/java-random-password-generator
• https://en.wikipedia.org/wiki/Random_password_generator#:~:text=A%20random%20pass
word%20generator%20is,be%20generated%20using%20a%20computer
• https://www.eccu.edu/blog/technology/the-importance-of-strong-secure-passwords/

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy