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, theNorminettebeing 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 .. elsestatements -0 pointsarray 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
Test -q option
The following command should have no output:
diff<(md5 -q /tmp/file)<(./ft_ssl md5 -q /tmp/file)
Yes No
Test -r option
Output should be identical (except spacing) for:
md5 -r /tmp/file
./ft_ssl md5 -r /tmp/file
Yes No
Test -p option
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
sha1family worth2 pointssha2family worth2 pointswhirlpoolworth5 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