package PassGen;
// a password generator
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class RandNum {
Random rand = new Random();
private int randNum;
public int get_randNum() {
boolean invalid_randNum = true;
for(;invalid_randNum;) {
randNum = rand.nextInt(122);
if(randNum > 64 & randNum < 122) {
if(randNum != 91)
if(randNum != 92)
if(randNum != 93)
if(randNum != 94)
if(randNum != 95)
if(randNum != 96)
invalid_randNum = false;
}
}
return randNum;
}
}
class GenPass {
// random number gen
RandNum rn = new RandNum();
PassFileWrite fw = new PassFileWrite();
// password generation method
public String gen_password() {
String pass = "";
char chr = 0;
// pass gen
for(int i = 0 ; i < 10 ; i++) {
int random_number = rn.get_randNum();
chr = (char) random_number;
pass += "" + chr;
}
System.out.println();
fw.write_pass_file(pass);
return pass;
}
}
class GenUser {
// random number gen
RandNum rn = new RandNum();
UserFileWrite fw = new UserFileWrite();
// password generation method
public String gen_username() {
String user = "";
char chr = 0;
// pass gen
for(int i = 0 ; i < 5 ; i++) {
int random_number = rn.get_randNum();
chr = (char) random_number;
user += "" + chr;
}
System.out.println();
fw.write_user_file(user);
return "user_" + user;
}
}
class PassGen {
GenPass gp = new GenPass();
GenUser gu = new GenUser();
JLabel jlab;
JLabel userlab;
JLabel passlab;
String password = "";
PassGen() {
// Create a JFrame container
JFrame jfrm = new JFrame("Password Generator");
// Specify FlowLayout for the layout manager
jfrm.setLayout(new FlowLayout());
// give the frame an initial size
jfrm.setSize(250, 140);
//terminate the program when a user closes the window
jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// make two buttons
final JTextField userfield = new JTextField(10);
final JTextField passfield = new JTextField(10);
JButton gen_user = new JButton("Generate Details");
passfield.setEditable(false);
userfield.setEditable(false);
// Add action listener for UserName
gen_user.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
userfield.setText(gu.gen_username());
passfield.setText(gp.gen_password());
}
});
// create a text based label for the username
userlab = new JLabel("Username: ");
// create a text based for the password
passlab = new JLabel("Password: ");
// Add the buttons to the content pane.
jfrm.add(userlab);
jfrm.add(userfield);
jfrm.add(passlab);
jfrm.add(passfield);
jfrm.add(gen_user);
// create a text based label
jlab = new JLabel("Please press generate details");
// add that label to the content pane
jfrm.add(jlab);
// Display the frame
jfrm.setVisible(true);
}
public static void main(String args[]) {
// Create the frame on the event dispatching thread.
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new PassGen();
}
});
}
}