X-Git-Url: http://git.chise.org/gitweb/?p=elisp%2Fflim.git;a=blobdiff_plain;f=md4.el;fp=md4.el;h=adfc5ec0931334e1627a6d02b6f93774a32551a8;hp=43af2aefa183407047b162ea3ff6d6f90ce29dd9;hb=09966ba1ffc31e44dc88d7847be4a09884299ec2;hpb=a9a2810b39be533b0df9d1fc3732b2b5cb35fcd0 diff --git a/md4.el b/md4.el index 43af2ae..adfc5ec 100644 --- a/md4.el +++ b/md4.el @@ -88,11 +88,10 @@ bytes long. N is required to handle strings containing character 0." (defsubst md4-H (x y z) (logxor x y z)) (defmacro md4-make-step (name func) - (` - (defun (, name) (a b c d xk s ac) + `(defun ,name (a b c d xk s ac) (let* - ((h1 (+ (car a) ((, func) (car b) (car c) (car d)) (car xk) (car ac))) - (l1 (+ (cdr a) ((, func) (cdr b) (cdr c) (cdr d)) (cdr xk) (cdr ac))) + ((h1 (+ (car a) (,func (car b) (car c) (car d)) (car xk) (car ac))) + (l1 (+ (cdr a) (,func (cdr b) (cdr c) (cdr d)) (cdr xk) (cdr ac))) (h2 (logand 65535 (+ h1 (lsh l1 -16)))) (l2 (logand 65535 l1)) ;; cyclic shift of 32 bits integer @@ -102,7 +101,7 @@ bytes long. N is required to handle strings containing character 0." (l3 (logand 65535 (if (> s 15) (+ (lsh l2 (- s 32)) (lsh h2 (- s 16))) (+ (lsh l2 s) (lsh h2 (- s 16))))))) - (cons h3 l3))))) + (cons h3 l3)))) (md4-make-step md4-round1 md4-F) (md4-make-step md4-round2 md4-G)