Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defun %md5->hext-str (md5)
- (let ((hex-digest (make-array 32 :element-type 'character)))
- (flet ((nibble-char (nibble)
- (ecase nibble
- (0 #\0)
- (1 #\1)
- (2 #\2)
- (3 #\3)
- (4 #\4)
- (5 #\5)
- (6 #\6)
- (7 #\7)
- (8 #\8)
- (9 #\9)
- (10 #\a)
- (11 #\b)
- (12 #\c)
- (13 #\d)
- (14 #\e)
- (15 #\f))))
- ;;We need to convert the md5 into a hex string
- (setf (char hex-digest 0) (nibble-char (ash (logand #xF0 (aref md5 0)) -4))
- (char hex-digest 1) (nibble-char (logand #x0F (aref md5 0)))
- (char hex-digest 2) (nibble-char (ash (logand #xF0 (aref md5 1)) -4))
- (char hex-digest 3) (nibble-char (logand #x0F (aref md5 1)))
- (char hex-digest 4) (nibble-char (ash (logand #xF0 (aref md5 2)) -4))
- (char hex-digest 5) (nibble-char (logand #x0F (aref md5 2)))
- (char hex-digest 6) (nibble-char (ash (logand #xF0 (aref md5 3)) -4))
- (char hex-digest 7) (nibble-char (logand #x0F (aref md5 3)))
- (char hex-digest 8) (nibble-char (ash (logand #xF0 (aref md5 4)) -4))
- (char hex-digest 9) (nibble-char (logand #x0F (aref md5 4)))
- (char hex-digest 10) (nibble-char (ash (logand #xF0 (aref md5 5)) -4))
- (char hex-digest 11) (nibble-char (logand #x0F (aref md5 5)))
- (char hex-digest 12) (nibble-char (ash (logand #xF0 (aref md5 6)) -4))
- (char hex-digest 13) (nibble-char (logand #x0F (aref md5 6)))
- (char hex-digest 14) (nibble-char (ash (logand #xF0 (aref md5 7)) -4))
- (char hex-digest 15) (nibble-char (logand #x0F (aref md5 7)))
- (char hex-digest 16) (nibble-char (ash (logand #xF0 (aref md5 8)) -4))
- (char hex-digest 17) (nibble-char (logand #x0F (aref md5 8)))
- (char hex-digest 18) (nibble-char (ash (logand #xF0 (aref md5 9)) -4))
- (char hex-digest 19) (nibble-char (logand #x0F (aref md5 9)))
- (char hex-digest 20) (nibble-char (ash (logand #xF0 (aref md5 10)) -4))
- (char hex-digest 21) (nibble-char (logand #x0F (aref md5 10)))
- (char hex-digest 22) (nibble-char (ash (logand #xF0 (aref md5 11)) -4))
- (char hex-digest 23) (nibble-char (logand #x0F (aref md5 11)))
- (char hex-digest 24) (nibble-char (ash (logand #xF0 (aref md5 12)) -4))
- (char hex-digest 25) (nibble-char (logand #x0F (aref md5 12)))
- (char hex-digest 26) (nibble-char (ash (logand #xF0 (aref md5 13)) -4))
- (char hex-digest 27) (nibble-char (logand #x0F (aref md5 13)))
- (char hex-digest 28) (nibble-char (ash (logand #xF0 (aref md5 14)) -4))
- (char hex-digest 29) (nibble-char (logand #x0F (aref md5 14)))
- (char hex-digest 30) (nibble-char (ash (logand #xF0 (aref md5 15)) -4))
- (char hex-digest 31) (nibble-char (logand #x0F (aref md5 15)))))
- hex-digest))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement