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

Java Micro Project

The document discusses a micro project report on developing an auto password generator program in Java. It aims to learn about Java programming language, classes and objects, string methods, and generate random passwords. The program generates secure passwords using uppercase, lowercase, numbers and special characters.

Uploaded by

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

Java Micro Project

The document discusses a micro project report on developing an auto password generator program in Java. It aims to learn about Java programming language, classes and objects, string methods, and generate random passwords. The program generates secure passwords using uppercase, lowercase, numbers and special characters.

Uploaded by

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

A

Micro Project Report


On

Auto Password Generator

Submitted by
Om Yogesh Suhagir
Bhavesh Vijay Shinde
Shlok Yogesh Bakshi
Srushti Vinod Metkar

Under the Guidance of Prof.R.C.Mahajan

In the Partial Fulfilment of Fourth Semester of Diploma in


Computer Engineering

Department of Information Technology


Sandip Polytechnic
Mahiravani, Nashik - 422213

Affiliated to

Maharashtra State
Board of Technical Education

Academic Year 2022-23


Maharashtra State Board of Technical Education

Certificate
This is to certify that Mr. Om Yogesh Suhagir with Roll No- 3 has successfully completed Micro-project in course
Java Programming.(22412)for the academic year 2022-23 as prescribed in the 'Assessment Manual'during his/her
tenure of completing Fourth Semester of Diploma Programme in Information Technology Engineering from
institute, Sandip Polytechnic with institute code 1167.

Place: Nashik Enrollment No: 2111670196

Date: Exam Seat No:

Course Teacher Head of the Department Head of the Institute


Maharashtra State Board of Technical Education

Certificate
This is to certify that Mr. Bhavesh Vijay Shinde with Roll No- 17 has successfully completed Micro-project in
course Java Programming.(22412)for the academic year 2022-23 as prescribed in the 'Assessment Manual'during
his/her tenure of completing Fourth Semester of Diploma Programme in Information Technology Engineering from
institute, Sandip Polytechnic with institute code 1167.

Place: Nashik Enrollment No: 2111670210

Date: Exam Seat No:

Course Teacher Head of the Department Head of the Institute


Maharashtra State Board of Technical Education

Certificate
This is to certify that Mr. Shlok Yogesh Bakshi with Roll No- 57 has successfully completed Micro-project in
course Java Programming.(22412)for the academic year 2022-23 as prescribed in the 'Assessment Manual'during
his/her tenure of completing Fourth Semester of Diploma Programme in Information Technology Engineering from
institute, Sandip Polytechnic with institute code 1167.

Place: Nashik Enrollment No: 2111670256

Date: Exam Seat No:

Course Teacher Head of the Department Head of the Institute


Maharashtra State Board of Technical Education

Certificate
This is to certify that Ms. Srushti Vinod Metkar with Roll No- 64 has successfully completed Micro-project in
course Java Programming.(22412)for the academic year 2022-23 as prescribed in the 'Assessment Manual'during
his/her tenure of completing Fourth Semester of Diploma Programme in Information Technology Engineering from
institute, Sandip Polytechnic with institute code 1167.

Place: Nashik Enrollment No: 2211670516

Date: Exam Seat No:

Course Teacher Head of the Department Head of the Institute


Annexure – I

Micro Project Proposal

Auto Password Generator

1.0 Aims/Benefits of the Micro-Project:


1. Collecting more information about java programming language.
2. Gathering more information about Classes and Objects in java language.
3. Learning about the execution of string methods used in java.
4. Making Random Password generator in java.
2.0 Course Outcomes Addressed:
1. Develop a programs using Object Oriented Methodology in java.
2. Apply Concept of inheritance for code reusability .
3. Develop programs using multithreading.
4. Implement Exception handling .
5. Develop Programs using graphics and applets.

3.0 Proposed Methodology:


1. First the topic of project was decided then we went to the conclusion that we are going to make
Auto Password Generator using Java.
2. Then the important requirements where analysed.
3. All the important things which are needed where collected using web resources and other
essential platforms.
4. Then the code in java was made.
5. The code was tested and the bugs where fixed.
4.0 Action Plan:
Planned Planned Name of Responsible Team
SrNo Details of Activity
Start Date Finish Date Members

1 Topic Discussion & Selection

2 Review of Literature

3 Aim/Benefits& Importance

4 Resources Required

5 Analysis of Collected Data

6 Design of System

7 Coding& Testing of Modules 1. Om Yogesh Suhagir


2. Bhavesh Vijay Shinde
8 Coding& Testing of Modules 3. Shlok Yogesh Bakshi
4. Srushti Vinod Metkar
9 Coding& Testing of Modules
10 Integration of System Modules

11 Testing of System

12 Compilation of Report

13 Compilation of Presentation

14 Presentation of Seminar

15 Final Submission

5.0 Resources Required:


SrNo Name of Resource/Material Specification Qty. Remarks
Laptop intel i5 10th -
gen, 8GB RAM
1 Hardware Resource 1
512 GB SSD

2 Software Resource Notepad, CMD 1 -


3 Any Other Resource - - -
Name of Team Members with Roll Nos:
Roll No Name of Team Members
3 Om Yogesh Suhagir

17 Bhavesh Vijay Shinde

57 Shlok Yogesh Bakshi

64 Srushti Vinod Metkar

Prof.R.C.Mahajan
Name & Signature of Course Teacher
Annexure – II

Micro Project Report


1.0 Rationale:
This Java program generates a random password of a given length using a combination of
uppercase and lowercase letters, special characters, and numbers. The program generates a random
password by first creating a string that contains all the possible characters, then randomly selecting
a character from each character set and adding it to the password.

The main method in the program calls the generatePassword method and passes in the desired
length of the password as a parameter. The generatePassword method creates an array of
characters with the given length and initializes the first four characters with one character from
each character set. It then uses a loop to fill the rest of the password with random characters from
the combined Chars string. Finally, it returns the password as a string.

This program can be useful for generating strong and secure passwords that are difficult to guess
or crack. However, it's important to remember that a strong password alone is not enough to
protect your online accounts. You should also enable two-factor authentication, use a password
manager, and follow other best practices for online security.
2.0 Aims/Benefits of the Micro-Project:
1. Collecting more information about java programming language.
2. Gathering more information about Classes and Objects in java language.
3. Learning about the execution of string methods used in java.
4. Making Random Password generator in java.
3.0 Course Outcomes Achieved:
1. Develop a programs using Object Oriented Methodology in java.
2. Apply Concept of inheritance for code reusability .
3. Develop programs using multithreading.
4. Implement Exception handling .
5. Develop Programs using graphics and applets.

4.0 Literature Review:

Fernando J. Corbató was an American pioneer in the field of computer science who is best known
as being the father of the password.

Corbató was a physicist whose interests evolved into what would become a burgeoning field in
its own right, computer science. As computers grew in their development and dependability, a
use case for one of Corbató’s own creations, the Compatible Time-Sharing System (CTSS),
emerged. How to securely and practically expand the user population became immediately
important. Toward this end Corbató conceived and applied the concept of a password — familiar
in the physical world — to computers. Upon his death in 2019 the Massachusetts Institute of
Technology, where his work was done at the time, credited Corbató with “drastically expanding
the usefulness” of computers.

In addition to the CTSS, while at MIT’s Computation Center from 1963-66, Corbató developed a
Multiplexed Information and Computing Service (Multics) that built upon the CTSS’s success
and could be deployed and useful to a larger population. Also while there, he did foundational
work on the operating system UNIX.

5.0 Actual Methodology Followed


1. First the topic of project was decided then we went to the conclusion that we are going to make
Auto Password Generator using Java.
2. Then the important requirements where analysed.
3. All the important things which are needed where collected using web resources and other
essential platforms.
4. Then the code in java was made.
5. The code was tested and the bugs where fixed.
6.0 Actual Resources Used:
Sr
Name of Resource/Material Specification Qty. Remarks
No
Laptop intel i5 10th -
gen, 8GB RAM
1 Hardware Resource 1
512 GB SSD

2 Software Resource Notepad, CMD 1 -

3 Any Other Resource - - -


Things Used In Program:
Class Used:
The class used in the program is java.util.Random.
In this java.util is the package and Random is the class associated with the package.
Java.util.Random: Random class is used to generate pseudo-random numbers in java. An instance
of this class is thread-safe. The instance of this class is however cryptographically insecure. This
class provides various method calls to generate different random data types such as float, double,
int.
An instance of this class is used to generate a stream of pseudorandom numbers. The class uses a
48-bit seed, which is modified using a linear congruential formula. (See Donald Knuth, The Art of
Computer Programming, Volume 2, Section 3.2.1.)

If two instances of Random are created with the same seed, and the same sequence of method calls
is made for each, they will generate and return identical sequences of numbers. In order to guarantee
this property, particular algorithms are specified for the class Random. Java implementations must
use all the algorithms shown here for the class Random, for the sake of absolute portability of Java
code. However, subclasses of class Random are permitted to use other algorithms, so long as they
adhere to the general contracts for all the methods.

The algorithms implemented by class Random use a protected utility method that on each
invocation can supply up to 32 pseudorandomly generated bits.

Many applications will find the method Math.random() simpler to use.

Instances of java.util.Random are threadsafe. However, the concurrent use of


the same java.util.Random instance across threads may encounter contention and consequent
poor performance. Consider instead using ThreadLocalRandom in multithreaded designs.

Instances of java.util.Random are not cryptographically secure. Consider instead using


SecureRandom to get a cryptographically secure pseudo-random number generator for use by
security-sensitive applications.
String Methods used :
1 ) charAt() : The charAt() method returns the character at the specified index in a string.
The index of the first character is 0, the second character is 1, and so on.
Syntax : public char charAt (int index)
7.0 Outputs of Micro-Project: Code
Of The Program: import
java.util.Random;

public class PasswordGenerator { public static


void main(String[] args) { int length = 10; // The
length of the password
String password = generatePassword(length);
System.out.println(password);
}

// This method generates a random password of the given length public


static String generatePassword(int length) {
String capitalCaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String lowerCaseLetters = "abcdefghijklmnopqrstuvwxyz";
String specialCharacters = "!@#$%^&*()_+-=[]{}|;':\"\\,./<>?";
String numbers = "0123456789";
String combinedChars = capitalCaseLetters + lowerCaseLetters + specialCharacters +
numbers;

Random random = new Random(); char[]


password = new char[length];

// Add at least one character from each character set


password[0] = capitalCaseLetters.charAt(random.nextInt(capitalCaseLetters.length()));
password[1] = lowerCaseLetters.charAt(random.nextInt(lowerCaseLetters.length()));
password[2] = specialCharacters.charAt(random.nextInt(specialCharacters.length()));
password[3] = numbers.charAt(random.nextInt(numbers.length()));

// Fill the rest of the password with random characters from combinedChars for(int
i = 4; i< length ; i++) {
password[i] = combinedChars.charAt(random.nextInt(combinedChars.length()));
}

return new String(password);


}

}
8.0 Skilled Developed/Learning Outcome of this Micro-Project:
1. Teamwork
2. Communication skills
3. Successfully created a application using Java programming .

9.0 Application of this Micro-Project:

Password security is important because passwords are the first line of defense against
cybercriminals and their unauthorized access to your personal data.
Most people around the world struggle with managing their passwords. A recent Verizon Data
Breach Investigation reported over 70% of employees repeat passwords while at work. According
to the study, 81% of hacking-related breaches used either stolen or weak
passwords. To make matters worse, password reuse by individuals at home is transferred to their
workplace. Despite the fact that 91% of people are aware that it is bad practice to reuse passwords,
59% do so at both their place of employment and home. Using a strong password is fundamental
to ensure your information won’t be at risk.

Importance of a Strong Password


Creating a strong and secure password can reduce the risk of cybercriminals guessing your
password and accessing sensitive data. Compromised passwords caused 80% of all data breaches
in 2019, resulting in financial losses for both businesses and consumers. Fear of forgetting
complex passwords, especially when there are several to remember, is a common worry that
people have while creating them. A strong password makes the amount of time it takes to guess it
exponentially longer to where if you use a 20 character randomized password with
upper/lowercase letters, numbers, symbols. It would take a computer 3 sextillion years to crack it.
There are many different types of attacks that cybercriminals use that target simple passwords. For
businesses, cybercriminals can start disinformation campaigns against companies, sharing their
data with competitors and storing it for a ransom.

Conclusion :
Usually, we need to generate a secure password for security purposes. There are several ways to
generate a strong password in Java. In this project, we have understood how we can generate a
strong password having at least two lowercase characters, two uppercase characters, two digits, and
two special characters.
The random password generator in Java is a program that will generate strong random passwords
of the specified length using alphabets, numbers, and symbols. We first create a string or list
consisting of all the alphabets, numbers, and symbols.

Prof.R.C.Mahajan
Name & Signature of CourseTeacher
Annexure – IV
Micro Project Evaluation Sheet
Name of Student: Om Yogesh Suhagir Enrollment No: 2111670196
Name of Programme: Information Technology Engineering Semester: IV
Course Title: Java Programming Course Code: 22412
Title of Micro Project: Auto Password Generator

Course Outcomes Achieved:-


1. Develop a programs using Object Oriented Methodology in java.
2. Apply Concept of inheritance for code reusability .
3. Develop programs using multithreading.
4. Implement Exception handling .
5. Develop Programs using graphics and applets.
Poor Average Good Excellent
Sr Sub
Characteristic to be Assessed Marks Marks Marks Marks
No Total
(1-3) (4-5) (6-8) (9-10)
(A) Process and Product Assessment (6 Marks)
1 Relevance to the Course

2 Literature Review/Information Collection

3 Completion of the Targetas per Project Proposal

4 Analysis of Data & Representation

5 Quality of Prototype/Model

6 Report Preparation

(B) Individual Presentation/Viva (4Marks)


7 Presentation

8 Viva

(A) (B)
Total Marks (10
Process and Product Assessment Individual Presentation/Viva
Marks)
(6 Marks) (4 Marks)

Comments/Suggestions about Teamwork/Leadership/Inter-personal Communication(if any)


…………………………………..……………………………………………………………………………
Name &Designation of Course Teacher: Prof.R.C.Mahajan Dated Signature:
Annexure – IV
Micro Project Evaluation Sheet
Name of Student: Shlok Yogesh Bakshi Enrollment No: 2111670256
Name of Programme: Information Technology Engineering Semester: IV
Course Title: Java Programming Course Code: 22412
Title of Micro Project: Auto Password Generator

Course Outcomes Achieved:-


1. Develop a programs using Object Oriented Methodology in java.
2. Apply Concept of inheritance for code reusability .
3. Develop programs using multithreading.
4. Implement Exception handling .
5. Develop Programs using graphics and applets.
Poor Average Good Excellent
Sr Sub
Characteristic to be Assessed Marks Marks Marks Marks
No Total
(1-3) (4-5) (6-8) (9-10)
(A) Process and Product Assessment (6 Marks)
1 Relevance to the Course

2 Literature Review/Information Collection

3 Completion of the Targetas per Project Proposal

4 Analysis of Data & Representation

5 Quality of Prototype/Model

6 Report Preparation

(B) Individual Presentation/Viva (4Marks)


7 Presentation

8 Viva

(A) (B)
Total Marks (10
Process and Product Assessment Individual Presentation/Viva
Marks)
(6 Marks) (4 Marks)

Comments/Suggestions about Teamwork/Leadership/Inter-personal Communication(if any)


…………………………………..……………………………………………………………………………
Name &Designation of Course Teacher: Prof.R.C.Mahajan Dated Signature:
Annexure – IV
Micro Project Evaluation Sheet
Name of Student: Bhavesh Vijay Shinde Enrollment No: 2111670210
Name of Programme: Information Technology Engineering Semester: IV
Course Title: Java Programming Course Code: 22412
Title of Micro Project: Auto Password Generator

Course Outcomes Achieved:-


1. Develop a programs using Object Oriented Methodology in java.
2. Apply Concept of inheritance for code reusability .
3. Develop programs using multithreading.
4. Implement Exception handling .
5. Develop Programs using graphics and applets.
Poor Average Good Excellent
Sr Sub
Characteristic to be Assessed Marks Marks Marks Marks
No Total
(1-3) (4-5) (6-8) (9-10)
(A) Process and Product Assessment (6 Marks)
1 Relevance to the Course

2 Literature Review/Information Collection

3 Completion of the Targetas per Project Proposal

4 Analysis of Data & Representation

5 Quality of Prototype/Model

6 Report Preparation

(B) Individual Presentation/Viva (4Marks)


7 Presentation

8 Viva

(A) (B)
Total Marks (10
Process and Product Assessment Individual Presentation/Viva
Marks)
(6 Marks) (4 Marks)

Comments/Suggestions about Teamwork/Leadership/Inter-personal Communication(if any)


…………………………………..……………………………………………………………………………
Name &Designation of Course Teacher: Prof.R.C.Mahajan Dated Signature:
Annexure – IV
Micro Project Evaluation Sheet
Name of Student: Srushti Vinod Metkar Enrollment No: 2211670516
Name of Programme: Information Technology Engineering Semester: IV
Course Title: Java Programming Course Code: 22412
Title of Micro Project: Auto Password Generator

Course Outcomes Achieved:-


1. Develop a programs using Object Oriented Methodology in java.
2. Apply Concept of inheritance for code reusability .
3. Develop programs using multithreading.
4. Implement Exception handling .
5. Develop Programs using graphics and applets.
Poor Average Good Excellent
Sr Sub
Characteristic to be Assessed Marks Marks Marks Marks
No Total
(1-3) (4-5) (6-8) (9-10)
(A) Process and Product Assessment (6 Marks)
1 Relevance to the Course

2 Literature Review/Information Collection

3 Completion of the Targetas per Project Proposal

4 Analysis of Data & Representation

5 Quality of Prototype/Model

6 Report Preparation

(B) Individual Presentation/Viva (4Marks)


7 Presentation

8 Viva

(A) (B)
Total Marks (10
Process and Product Assessment Individual Presentation/Viva
Marks)
(6 Marks) (4 Marks)

Comments/Suggestions about Teamwork/Leadership/Inter-personal Communication(if any)


…………………………………..……………………………………………………………………………
Name &Designation of Course Teacher: Prof.R.C.Mahajan Dated Signature:

You might also like