Overview: The purpose of this milestone is to prepare for your final project submission in Module Seven. For this milestone, you will be drafting the pseudocode that you will submit as part of your fina project. Remember to revisit the pseudocode you create in this module before you submit your program and final project Also take note that if your program differs from your pseudocode plan you will need to document and explain this when you complete your final project.

Option 1: Authentication System
For security-minded professionals, it is important that only the appropriate people gain access to data in a computer system. This is called authentication. Once users gain entry, it is also important that they only see data related to their role in a computer system. This is called authorization. For the ZOO, you will develop an authentication system that manages both authentication and authorization. You have been given a credentials file that contains credential information for authorized users. You have also been given three files, one for each role: zookeeper veterinarian, and admin. Each role file describes the data the particular role should be authorized to access. Create an authentication system that does all of the following:
- Asks the user for a username
- Asks the user for a password
- Converts the password using a message digest five (MD5) hash
o It is not required that you write the MD5 from scratch. Use the code located in this document and follow the comments in it to perform this operation
- Checks the credentials against the valid credentials provided in the credentialsfil
- Use the hashed passwords in the second column; the third column contains the actua passwords for testing and the fourth row contains the role of each user.
- Limits failed attempts to three before notifying the user and exiting the program
- Gives authenticated users access to the correct role file after successfulauthenticatior
- The system information stored in the role file should be displayed. For example, if a zookeeper's credentials is successfully authenticated, then the contents from the zookeeper file will be displayed. If an admin's credentials is successfully authenticated, then the contents from the admin file will be displayed
- Allows a user to log out
- Stays on the credential screen until either a successful attempt has been made, three unsuccessful attempts have been made, or a user chooses to exit
You are allowed to add extra roles if you would like to see another type of user added to the system, but you may not remove any of the existing roles.

Solution PreviewSolution Preview

These solutions may offer step-by-step problem-solving explanations or good writing examples that include modern styles of formatting and construction of bibliographies out of text citations and references. Students may use these solutions for personal skill-building and practice. Unethical use is strictly forbidden.

public class AuthenticationSystem {

    * @param args the command line arguments
    public static void main(String[] args) throws Exception {
       Scanner s = new Scanner(;
       String role = null;
       /* Run login sequence 3 times maximum */
       for (int i = 0; i < 3; i++) {
            // Prompt username
            System.out.print("Enter username: ");
            String username = s.nextLine();
            // Prompt password
            System.out.print("Enter password: ");
            String password = s.nextLine();

            // MD5 Hash password
            MessageDigest md = MessageDigest.getInstance("MD5");

By purchasing this solution you'll be able to access the following files:
Solution.PNG, Solution.docx and

for this solution

PayPal, G Pay, ApplePay, Amazon Pay, and all major credit cards accepted.

Find A Tutor

View available Java Programming Tutors

Get College Homework Help.

Are you sure you don't want to upload any files?

Fast tutor response requires as much info as possible.

Upload a file
Continue without uploading

We couldn't find that subject.
Please select the best match from the list below.

We'll send you an email right away. If it's not in your inbox, check your spam folder.

  • 1
  • 2
  • 3
Live Chats