You are on page 1of 3

CTIS 310 – Advanced Java Programming

Strong Password Generator Mini-Project1 – String Operations & Manipulation


(Upload your solution to the appropriate Canvas Dropbox)
Due Date: 01/22/2021 @ Midnight

Write a program that will generate a strong password derived from the user’s input:

A sample1 run of the program:


Please enter your first name:
cHarlie
Please enter your last name:
sMIth
Please enter your middle Initial:
dAvid
Please enter your 2-digits favorite number:
45
Please enter your City of Birth:
gREEnSboro
Please enter your City of favorite color:
rED
Your 2-digits random number: 31
Your full name in the correct format is: Charlie D. Smith
Your email at Guilford in the correct format is: smithcd@guilford.edu
Your Final Pwd is: ChSm4^5GrRe31
Your Final Pwd hash is: [B@3d4eac69
Your password is :
ChSm4^5GrRe31
Your password encrypted using AES and secret key (ThisIsSecretKey) is:
JdpO17RaynOw/6QgevVuAg==
Your password decrypted using AES and secret key (ThisIsSecretKey) is:
ChSm4^5GrRe31

Here's some sayings about passwords:


Choosing a hard-to-guess, but easy-to-remember password is important!

Treat your password like your toothbrush.


Don't let anybody else use it, and get a new one every six months.
BUILD SUCCESSFUL (total time: 38 seconds)
A sample2 run of the program:
Please enter your first name:
sUsan
Please enter your last name:
jOhnSon
Please enter your middle Initial:
liLy
Please enter your 2-digits favorite number:
78
Please enter your City of Birth:
cHARLotte
Please enter your City of favorite color:
gREEn
Your 2-digits random number: 83
Your full name in the correct format is: Susan L. Johnson
Your email at Guilford in the correct format is: johnsonsl@guilford.edu
Your Final Pwd is: SuJo7^8ChGr83
Your Final Pwd hash is: [B@3d4eac69
Your password is :
SuJo7^8ChGr83
Your password encrypted using AES and secret key (ThisIsSecretKey) is:
tgkdUV1JkV1ulkCFutZ8LA==
Your password decrypted using AES and secret key (ThisIsSecretKey) is:
SuJo7^8ChGr83

Here's some sayings about passwords:


Choosing a hard-to-guess, but easy-to-remember password is important!

Treat your password like your toothbrush.


Don't let anybody else use it, and get a new one every six months.
BUILD SUCCESSFUL (total time: 1 minute 58 seconds)
Note that the first Character is changed to uppercase & the second character is changed
to lower case (in the name, last name, city of birth, and favorite color) when added to the
password.
Note that the 2-digit favorite number is separated by a ‘^’

Use the AES.java file (uploaded on Canvas) in your project source code directory to
encrypt and decrypt the generated password, and the code below to encrypt and decrypt
the password:

//--------------------------------------------------------------------------------------------------------------------

final String secretKey = "ThisIsSecretKey";


String encryptedString = AES.encrypt(password, secretKey) ;
String decryptedString = AES.decrypt(encryptedString, secretKey) ;

//--------------------------------------------------------------------------------------------------------------------

Submit one Zipped (upload to BB DropBox) file containing your Source Code (.java) with 2
Sample Runs (.doc or docx). DO NOT EMAIL ME YOUR LAB SOLUTIONS!

Future Consideration:

1- GUI implementation of this MP.


2- Password Evaluator (measures the strength of a password)

You might also like