Due: Thursday, Jan 27th by 11:59 PM
Updated 1/21: Added some hints.
Download CS365_Assign1.zip. Extract the contents of the archive into a directory.
Using a Unix shell, use the cd command to navigate into the directory containing the extracted contents.
Using a text editor, open the file crack_passwd.c.
When you run the make command, the crack_passwd program will be compiled.
This assignment is a warm up exercise to get you reacquainted with C, and is also a starting point for the next assignment.
Your task is to take an encrypted password entry, break it into its three components, and print them out.
Example session (user input in bold):
dhovemey@slartibartfast$ ./crack_passwd '$6$KZGJpy5g$LPUOKn56sQfAh/mTV/TTMk.2jt.ctjjKUk4/fjp94P9USkfurKPCz1/VKVhqTD5pjaSpvJgpTUzRZ2hX1L.Uj.' Algorithm : 6 Salt : KZGJpy5g Encrypted passwd: LPUOKn56sQfAh/mTV/TTMk.2jt.ctjjKUk4/fjp94P9USkfurKPCz1/VKVhqTD5pjaSpvJgpTUzRZ2hX1L.Uj.
The format of an encrypted password entry is:
The constants ALGO_MAXLEN, SALT_MAXLEN, and ENCRYPTED_PASSWD_MAXLEN specify the maximum lengths (number of characters without the terminating nul character) for the algorithm, salt, and encrypted password, respectively.
This assignment will be easier if you use the C string functions. Some functions that may be useful are strlen, strcpy, memcpy, and strchr.
You can view the manual page for these functions, and all C library functions, by the man command from a terminal window. For example:
man 3 memcpy
will show you the manual page for the memcpy function. (The "3" forces man to look in Chapter 3 of the manual, which is where C functions are documented.)
Your favorite C reference should have plenty of information on C string manipulation.
Pointer arithmetic may be useful.
Make sure that any C character strings you create are properly terminated with a nul (0) character. Also, be sure that when you store a string value in a character array, the array is large enough to hold the characters of the string and the nul terminator.
From the directory containing your source files, run the command
When prompted, enter your Marmoset username and password. You should see a message indicating that the submission was successfully uploaded to the server.
Important: You should log into the server and download your submitted files. Check to make sure that the files you submitted were the ones you intended. The server URL is