A module containing several (Currently two) hashing functions for the Monkey programming language. Most notably: A multi-input MD5 implementation, and a quick rewrite of Java's 'hashCode' command.
This module is officially distributed with the Regal Modules project. To install this module, please follow the installation guide provided with that repository.
The MD5 implementation is still rather slow with large files, but it's far faster than the alternatives, currently. One of the benefits of my MD5 implementation is the smaller memory footprint. Add together the memory optimizations, the variety of container-backends, input-types, and a good compiler, and this should work well for realistic use. That being said, there are other implementations. So, if this doesn't fit your project, I'd recommend looking at the "Special Thanks" and "Other References" sections.
Loosely based on the MD5 implementations provided by the Monkey community.
Special Thanks:
- Goodlookinguy, for his 'logical shift right' code, which this is based on.
- Craig Kiesau, for his original MD5 function written in BlitzBasic.
- Fred, for his original port of Craig's BlitzBasic code.
- Xaron, for his 'Strict' compatible version of Fred's code.
- FWeinb's original SHA1 implementation. (BlitzMax)
- Diddy's Base64 implementation; used as a reference.
Other References: