Question: You are now given a real Linux-style shadow file (named shadow) and the same file with a list of common passwords (named common-passwords.txt). The shadow
You are now given a real Linux-style shadow file (named shadow) and the same file with a list of common passwords (named common-passwords.txt). The shadow file is a text file in which every line corresponds to one user. The format of each line is (fields are separated by the colon : character): username:shash:(several other fields) The username field is the users ID. The salted hash shash field contains the following subfields (separated by the $ character): $1$salt$hash Your task is to write a Java program that determines whether the shadow file contains any commonly used passwords. The hash has been generated this time using a more complex algorithm that is actually used in the Ubuntu Linux distribution. You are also provided with the file MD5Shadow.java, which contains a class that has the MD5Shadow.crypt() method, which receives a password and a salt, and generates the shadow-style hash. Your program should be named Cracker.java and should print on the screen the user names and their passwords for those passwords that were found using the dictionary attack (one username and password per line), in the format: username:password (again, it is assumed that the files shadow and common-passwords.txt are in the same directory with your program)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
