MD5/Implementation: Difference between revisions

Content added Content deleted
(Update link to F# implementation)
m (added whitespace.)
Line 9: Line 9:
** A translation of a correct implementation from another language
** A translation of a correct implementation from another language
** A library routine in the same language; however, the source must be included here.
** A library routine in the same language; however, the source must be included here.



The solutions shown here will provide practical illustrations of bit manipulation, unsigned integers, working with little-endian data. Additionally, the task requires an attention to details such as boundary conditions since being out by even 1 bit will produce dramatically different results. Subtle implementation bugs can result in some hashes being correct while others are wrong. Not only is it critical to get the individual sub functions working correctly, even small errors in padding, endianness, or data layout will result in failure.
The solutions shown here will provide practical illustrations of bit manipulation, unsigned integers, working with little-endian data. Additionally, the task requires an attention to details such as boundary conditions since being out by even 1 bit will produce dramatically different results. Subtle implementation bugs can result in some hashes being correct while others are wrong. Not only is it critical to get the individual sub functions working correctly, even small errors in padding, endianness, or data layout will result in failure.