0% found this document useful (0 votes)
12 views12 pages

Micro Java

Micro Java

Uploaded by

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

Micro Java

Micro Java

Uploaded by

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

PART A – Micro-Project Proposal

AIM OF THE MICRO-PROJECT:-


 Password Generation Using Java

BRIEF INTRODUCTION :-
Password generation in Java is an essential process for ensuring security in applications that
require authentication. A strong password is necessary to prevent unauthorized access and
protect user data from attacks such as brute force, dictionary attacks, and credential
stuffing. Java provides several approaches to generating secure passwords, ranging from
basic randomization techniques to cryptographically secure methods. A more secure
alternative is SecureRandom from the java.security package, which provides
cryptographically strong randomness. Using SecureRandom, developers can ensure that
passwords are less predictable and resistant to attacks. Modern Java versions allow the use
of functional programming techniques, such as Java Streams, to simplify this process.

INTENDED COURSE OUTCOMES: -


CO a. To develop a java program for Password Generation
CO4 Develop java program for implementing event handling using window-based application
components.

LITERATURE REVIEW:-
Java is a high-level, object-oriented programming language that has been widely adopted
since its inception in 1995 by Sun Microsystems (Gosling et al., 1996). The language was
designed to be platform-independent, following the principle of "Write Once, Run
Anywhere" (WORA), which is achieved through the Java Virtual Machine (JVM). Java’s
portability, security, and robustness have made it a dominant choice for enterprise
applications, web development, mobile applications, and embedded systems. Java has played
a crucial role in software development across various domains. It is the backbone of Android
application development, supported by the Android SDK, which relies on Java-based APIs (Google,
2022).
PROPOSED METHODOLOGY:-
 Understand the topic given to us.
 Discuss about the topic with group members.
 Divide the topic throughout each members of the group.
 Collected the information from member and verify from our lecturer.
 Prepared the main report of our micro project.

RESOURCES REQUIRED: -
SR Name of Specification Quantity Remarks
NO. Resources

1 Computer Computer (Intel 1


System Pentium
processor),
RAM 2GB
2 Operating Windows 11 1
system

3 Java JDK java 23.0.1 1

GROUP MEMBERS:-
Sr Student Name Signature
No.

1 Aryan Pradeep Shinde


2 Rushikesh Bhaskar Jaybhaye
3 Onkar Dadasaheb Devkar
ACTION PLAN :-
SR.No Details of Activity Planned start Planned finish Team Member
date date
1 To discuss and get the topic 10/01/2024 12/012024 All
of Micro project.
2 Start planning on topic of 13/01/2024 17/01/2024 All
micro project.
3 Collect information about 22/01/2024 24/01/2024 All
out topic.
4 Distribute works within 25/01/2024 26/01/2024 All
group member
5 To start with creating with 27/01/2024 31/01/2024 All
main copy of micro project.
6 Collect different 03/02/2024 05/02/2024 All
information about micro
project.
7 Initiate different views 06/02/2024 08/02/2024 All
about micro project.
8 Editing process must done 08/02/2024 12/02/2024 All
before hard Copy.
9 Check soft copy properly 13/02/2024 16/02/2024 All
before preparing of
hardcopy.
10 To start creating copy 17/02/2024 21/02/2024 All
properly.
11 checking the information on 23/02/2024 28/02/2024 All
from monitor.
12 Check the soft copy. 10/03/2024 13/03/2024 All

13 To present soft copy via G- 14/03/2024 20/03/2024 All


mail.
14 Represent of the hard copy 25/03/2024 All
of main micro project.
MICRO-PROJECT REPORT ON
"Password Generation Using Java"
IN PARTIAL FULFILMENT OF DIPLOMA IN COMPUTER ENGINEERING
(Fourth Semester)

In the Subject of
Java Programming
Submitted By
1. Aryan Pradeep Shinde
2. Rushikesh Bhaskar Jayebhaye
3. Onkar Dadasaheb Devkar
Submitted To

Government Polytechnic Malvan

Under the Guidance of


Mr. Sandesh Joshi Sir
Lecturer In
Department of Computer Engineering
Government Polytechnic Malvan
Dist :- Sindhudurg (2024-2025)
Government Polytechnic, Malvan
Department Of Computer Engineering
Certificate
This is to certify, that students whose name mention below of Second Semester of Diploma
in Computer Engineering has satisfactorily completed the Micro project entitled " Password
Generation Using Java " in Java Programming or the academic year 2024-25 as Prescribed in
MSBTE curriculum.

Name Enrollment No.


Aryan Pradeep Shinde 23110230128
Rushikesh Bhaskar Jaybhaye 23110230124
Onkar Dadasaheb Devkar 23110230115

Subject Teacher Head Of Department Principal

Place :- Malvan
Date :-
Part B – MICRO-PROJECT Proposal
Bank Management System using C Language

RATIONALE :-
Java programming is widely recognized as one of the most versatile, secure, and efficient
programming languages in the field of software development. The rationale for using Java
stems from its platform independence, robust security features, object-oriented principles,
and widespread adoption in various domains, including web development, mobile
applications, enterprise software, and cloud computing.
One of the primary reasons for Java’s popularity is its "Write Once, Run Anywhere" (WORA)
capability, which allows Java applications to run on any platform without modification. This
is made possible by the Java Virtual Machine (JVM), which translates Java bytecode into
machine-specific instructions. This feature has made Java a preferred choice for developers
who require cross-platform compatibility.

INTENDED COURSE OUTCOMES: -


TLO 4.4 Use delegation event model to develop event driven program for the given problem
TLO 4.5 Use relevant AWT/ Swing component(s) to handle the given event.

LITERATURE REVIEW :-
Java emerged as an improvement over C++ by providing automatic memory management
through garbage collection and eliminating issues related to manual memory handling
(Arnold et al., 2005). Over the years, Java has evolved significantly through various versions,
introducing features such as generics in Java 5, the stream API in Java 8, and records and
pattern matching in Java 14 and later versions (Oracle, 2021). Each version has brought
performance improvements and enhanced developer productivity. Research on Java
highlights several key advantages. Its object-oriented nature allows for better
modularization and reusability of code (Deitel & Deitel, 2017). The language also
emphasizes security through its sandbox environment and bytecode verification, making it
ideal for web and enterprise applications. Furthermore, Java’s multithreading capabilities
enable concurrent programming, which is critical for high-performance computing (Schildt,
2020).
Actual Methodology Followed :-
These Micro project based on Java Programming has been completed and performed by the
involvement of all the group members. All the group members had performed and done
their work correctly.
Works performed by group members individually are:
1. Aryan Shinde has worked on editing process and creating the softcopy including
flowchart, Algorithm and program of the micro project and provided information for
the micro project and worked on introduction, literature review and Rationale.
2. Rushikesh Jayebhaye provided information for the micro project and has worked on
action plan and application of these micro project.
3. Omkar Devkar provided information for the micro project and provided information
about the skills developed.

Actual Resources Required :-


Sr No. Name Of Specifications Quantity Remarks
Resources

1. Computer Computer (i3-i5 1


System preferable), RAM
2GB
2. Operating Windows 11 1
System

3. Java JDK java 23.0.1 1


OUTPUTS OF THE MICRO-PROJECT

PROGRAM :-
import java.security.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class PasswordGenerator
{
JFrame frame;
JPanel p1;
JLabel l1;
JRadioButton c1,c2,c3;
ButtonGroup bg;
JButton b1;
GridBagConstraints gbc;
JTextField res;
public PasswordGenerator()
{
frame=new JFrame("Password Generator");
frame.setSize(500, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new FlowLayout());

p1=new JPanel();
p1.setLayout(new GridBagLayout());

gbc=new GridBagConstraints();
gbc.gridx=0;

l1=new JLabel("Password Generator");


gbc.gridy=1;
p1.add(l1,gbc);

res=new JTextField(16);
gbc.gridy=2;
p1.add(res,gbc);

c1=new JRadioButton();
c1.setText("8 Character");
gbc.gridy=3;
p1.add(c1,gbc);

c2=new JRadioButton();
c2.setText("10 Character");
gbc.gridy=4;
p1.add(c2,gbc);

c3=new JRadioButton();
c3.setText("12 Character");
gbc.gridy=5;
p1.add(c3,gbc);

bg=new ButtonGroup();
bg.add(c1);
bg.add(c2);
bg.add(c3);

b1=new JButton("Generate");
gbc.gridy=6;
p1.add(b1,gbc);
b1.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
JButton1ActionPerformed(e);
}

});

frame.add(p1);
frame.setVisible(true);
}
private void JButton1ActionPerformed(java.awt.event.ActionEvent
evt)
{
if (c1.isSelected())
{
passGenerator(8);
}
else if(c2.isSelected())
{
passGenerator(10);
}
else if(c3.isSelected())
{
passGenerator(12);
}
else
{
passGenerator(6);
}
}
public void passGenerator(int len)
{
StringBuilder st=new StringBuilder();
String cap="ABCDEFGHIJKLMNOPQRSTVWXYZ";
String small="qwertyuiopasdfghjklzxcvbnm";
String num="1234567890";
String syb="@";
String validChar=cap+small+num+syb;
SecureRandom rd=new SecureRandom();
while (0<len--)
{

st.append(validChar.charAt(rd.nextInt(validChar.length())));
}
res.setText(st.toString());
}
public static void main(String[] args)
{
new PasswordGenerator();
}
}
OUTPUT :-

Result 1 :- Default Password of 6 Characters Result 2 :- Password of 8 Characters

Result 3 :- Password of 10 Characters Result 4 :- Password of 12

Characters
SKILLS DEVELOPED :-
Developing a Password Generation project using Java helps enhance fundamental
programming skills while introducing key concepts of security and randomness. Through this
project, developers gain hands-on experience with core Java features, including data types,
loops, methods, and object-oriented programming principles like encapsulation and
abstraction. A major aspect of the project involves using randomization techniques, where
learners explore Java’s Random and SecureRandom classes to generate unpredictable and
strong passwords. Additionally, they work with string manipulation, constructing passwords
using a mix of uppercase and lowercase letters, numbers, and special characters.
Implementing exception handling ensures that errors like invalid input or unexpected
behaviors are properly managed, improving the robustness of the program.
Beyond coding, this project fosters problem-solving and algorithmic thinking by requiring
developers to design logic for generating secure passwords that meet specific criteria. If
extended, the project can also introduce file handling, allowing passwords to be securely
stored, or GUI development using JavaFX or Swing for a more user-friendly interface.
Moreover, debugging and optimizing the code for efficiency further refine programming
skills. Working on such a project builds a strong foundation in Java while also providing
practical exposure to security principles, preparing developers for more advanced areas like
cybersecurity, authentication systems, and enterprise application development.

FUTURE SCOPE :-
The future scope of Java remains highly promising due to its adaptability, widespread use,
and continuous evolution. Java is a dominant language in enterprise software development,
with frameworks like Spring and Jakarta EE powering large-scale applications. In the cloud
computing and big data domains, Java plays a key role in platforms like Apache Hadoop and
Apache Spark. With the rise of Android development, Java remains a critical language for
mobile applications despite competition from Kotlin. Additionally, Java’s strong security
features and platform independence make it essential for IoT, AI, and blockchain
applications. Ongoing enhancements in performance, scalability, and modern programming
paradigms ensure that Java remains a preferred choice for developers in the evolving tech
landscape.

Reference :-
1. https://www.google.com/
2. https://www.geeksforgeeks.org/
3. https://stackoverflow.com/

You might also like