MD5: Difference between revisions

Content added Content deleted
Line 326: Line 326:


<lang lisp>(require #+sbcl 'sb-md5 #-sbcl 'md5)
<lang lisp>(require #+sbcl 'sb-md5 #-sbcl 'md5)

(defvar +letters+ "0123456789abcdef")


(defun octets->letters (octet-vector)
(defun octets->letters (octet-vector)
(with-output-to-string (stream)
(with-output-to-string (stream)
(loop for i across octet-vector
(loop for i across octet-vector
do (flet ((foo (x) (aref +letters+ (ldb (byte x (- x 4)) i))))
do (flet ((foo (x) (digit-char (ldb (byte x (- x 4)) i) 16)))
(princ (foo 8) stream)
(princ (foo 8) stream)
(princ (foo 4) stream)))))
(princ (foo 4) stream)))))