The sb-md5
module implements the RFC1321 MD5 Message Digest
Algorithm. [FIXME cite]
Calculate the MD5 message-digest of data in sequence. On
cmu
cl
this works for all sequences whose element-type is supported by the underlying MD5 routines, on other implementations it only works for 1d simple-arrays with such element types.
Calculate an MD5 message-digest of the contents of stream. Its element-type has to be either (unsigned-byte 8) or character.
The implementation for CMUCL was largely done by Pierre Mai, with help
from members of the cmucl-help
mailing list. Since CMUCL and
SBCL are similar in many respects, it was not too difficult to extend
the low-level implementation optimizations for CMUCL to SBCL.
Following this, SBCL's compiler was extended to implement efficient
compilation of modular arithmetic (see Modular arithmetic), which
enabled the implementation to be expressed in portable arithmetical
terms, apart from the use of rotate-byte
for bitwise rotation.