Computes MD5 checksums
Any Scheme-object can be the SOURCE for a digest. See message-digest for more information.
Returns the 128-bit checksum primitive object.
(use md5 message-digest) (message-digest-string (md5-primitive) "abc") ;=> "900150983cd24fb0d6963f7d28e17f72"
- For use with the message-digest extension.
Colin Plumb, wrapped for Chicken by Peter Bex
- Add block-length. Kon Lovett
- Remove deprecated procedures. Kon Lovett
- Make function declarations static in order to avoid conflicts with those from libc if the OS supplies them. This makes MD5 work on OpenBSD (thanks to Alan Post and Christian Kellermann)
- Change deprecated pointer foreign type specifier to scheme-pointer to make it work under chickens newer than 4.6.0.
- Do not define uint32 as uint32_t but use it directly to avoid conflicts with system-defined types on some OSes.
- a message-digest-primitive has no "state". Kon Lovett
- Fixed typo in setup file that caused the extension to get installed under the name "m5"
- Chicken 4 implementation. Replaced GPL code with common public domain code.
- Added dependency on message-digest egg
- Initial release
This code implements the MD5 message-digest algorithm. The algorithm is due to Ron Rivest. This code was written by Colin Plumb in 1993, no copyright is claimed. This code is in the public domain; do with it what you wish.
Equivalent code is available from RSA Data Security, Inc. This code has been tested against that, and is equivalent, except that you don't need to include two pages of legalese with every copy.