MD5 is a widely use Hash algorithm. It works by destructing message into smaller pieces called hash value. hash value is similar to to the concept of fingerprint. The same data will result the same hash value. Therefore, hash algorithms take significant place on security for example integrity proofing.

In addition, this post will show you you to bring MD5 hash function into PIC18F4550 microcontroller. Since PIC18F4550 has large memory space, it has ability to cope large message.
The development of this code is divided into two version which are size optimized and speed optimized. Version 1.x is intended for speed effectiveness while the other one concern on performance. the picture below show the result of md5 hashing as well as its buffer during execution.
Hash Result

Buffer

I developed the code on MPLAB v8.0 and released for free under the term of GNU Public License version 3.0 with no guarantee implied. Please leave some comments if you have question or suggestion prior to this post.
RELATED STUFF
Download:
Source Code (Size Optimized) | v1.0
PIC18F4550 Datasheet
MPLAB v8.0
Reference:
MD5



