Evaluation Sheet - k-off/ft_ssl_md5 GitHub Wiki
Preliminaries
Preliminary checks
First, check the following:
- There are files in the git repository
- There is a valid author file
- The Makefile is present and contains the requested rules
- The project is
Norm
, theNorminette
being authoritative - No cheating (no forbidden functions)
- Project compiles
If one of the answers is negative, evaluation stops here. You are encouraged to continue debating the project, but the scale is not applied.
Yes
No
Mandatory part
Does FT_SSL handle commands correctly?
- Does ft_ssl handle invalid commands?
- Does it output an appropriate error message?
- Does ft_ssl show usage if no arguments provided OR does it read the command from standard input (interactive mode)?
Yes
No
Is there a function dispatcher?
Check the code for this one. How the appropriate command is selected?
If .. else
statements -0 points
array of function pointers
-up to 5 points
. Reduce one point for each place in code where changes have to be made to add a new function. If less than three places found award5 points
.
Rate it from 0 (failed) through 5 (excellent)
Test MD5
Run the following script:
echo 'is md5("salt") a salted hash? :thonking_face:' > /tmp/file
./ft_ssl md5 /tmp/file
md5 /tmp/file
openssl md5 /tmp/file
Output of ft_ssl
should match openssl
or standalone md5
Yes
No
-q
option
Test The following command should have no output:
diff<(md5 -q /tmp/file)<(./ft_ssl md5 -q /tmp/file)
Yes
No
-r
option
Test Output should be identical (except spacing) for:
md5 -r /tmp/file
./ft_ssl md5 -r /tmp/file
Yes
No
-p
option
Test Both commands should print back the input:
echo "Magic mirror on the wall, think I wanna smash the all?" | md5 -p
echo "Speed up now, Gas Pedal??" | ./ft_ssl md5 -p
Rate it from 0 (failed) through 5 (excellent)
Test SHA256
shasum -a 256 /tmp/file > sha_output
./ft_ssl sha256 /tmp/file > ftsha_output
diff sha_output ftsha_output
Yes
No
Test all the flags
Rate it from 0 (failed) through 5 (excellent)
Bonus part
Does it support interactive mode (ask for user input if no command was provided)?
Example:
./ft_ssl
> md5
> /tmp/file
checksum here
Yes
No
Other hashing functions
sha1
family worth2 points
sha2
family worth2 points
whirlpool
worth5 points
Rate it from 0 (failed) through 5 (excellent)
Are they Memer? Does the evaluated look like a someone who memes?
Yes
No
Finish correction