mirror of
https://github.com/pmai/md5.git
synced 2025-12-21 22:44:29 +01:00
Make md5 case-mode agnostic (via kmr and ironclad repositories).
This commit is contained in:
18
md5.lisp
18
md5.lisp
@ -38,7 +38,7 @@
|
|||||||
;;;; authors assume no responsibility for the consequences of any use
|
;;;; authors assume no responsibility for the consequences of any use
|
||||||
;;;; of this software.
|
;;;; of this software.
|
||||||
|
|
||||||
(defpackage :MD5 (:use :CL)
|
(defpackage #:md5 (:use #:cl)
|
||||||
(:export
|
(:export
|
||||||
;; Low-Level types and functions
|
;; Low-Level types and functions
|
||||||
#:md5-regs #:initial-md5-regs #:md5regs-digest
|
#:md5-regs #:initial-md5-regs #:md5regs-digest
|
||||||
@ -49,7 +49,7 @@
|
|||||||
;; High-Level functions on sequences, streams and files
|
;; High-Level functions on sequences, streams and files
|
||||||
#:md5sum-sequence #:md5sum-stream #:md5sum-file))
|
#:md5sum-sequence #:md5sum-stream #:md5sum-file))
|
||||||
|
|
||||||
(in-package :MD5)
|
(in-package #:md5)
|
||||||
|
|
||||||
#+cmu
|
#+cmu
|
||||||
(eval-when (:compile-toplevel)
|
(eval-when (:compile-toplevel)
|
||||||
@ -206,9 +206,9 @@ accordingly."
|
|||||||
(declare (type md5-regs regs)
|
(declare (type md5-regs regs)
|
||||||
(type (simple-array ub32 (16)) block)
|
(type (simple-array ub32 (16)) block)
|
||||||
(optimize (speed 3) (safety 0) (space 0) (debug 0)))
|
(optimize (speed 3) (safety 0) (space 0) (debug 0)))
|
||||||
(let ((a (md5-regs-a regs)) (b (md5-regs-b regs))
|
(let ((A (md5-regs-a regs)) (B (md5-regs-b regs))
|
||||||
(c (md5-regs-c regs)) (d (md5-regs-d regs)))
|
(C (md5-regs-c regs)) (D (md5-regs-d regs)))
|
||||||
(declare (type ub32 a b c d))
|
(declare (type ub32 A B C D))
|
||||||
;; Round 1
|
;; Round 1
|
||||||
(with-md5-round (f block)
|
(with-md5-round (f block)
|
||||||
(A B C D 0 7 1)(D A B C 1 12 2)(C D A B 2 17 3)(B C D A 3 22 4)
|
(A B C D 0 7 1)(D A B C 1 12 2)(C D A B 2 17 3)(B C D A 3 22 4)
|
||||||
@ -234,10 +234,10 @@ accordingly."
|
|||||||
(A B C D 8 6 57)(D A B C 15 10 58)(C D A B 6 15 59)(B C D A 13 21 60)
|
(A B C D 8 6 57)(D A B C 15 10 58)(C D A B 6 15 59)(B C D A 13 21 60)
|
||||||
(A B C D 4 6 61)(D A B C 11 10 62)(C D A B 2 15 63)(B C D A 9 21 64))
|
(A B C D 4 6 61)(D A B C 11 10 62)(C D A B 2 15 63)(B C D A 9 21 64))
|
||||||
;; Update and return
|
;; Update and return
|
||||||
(setf (md5-regs-a regs) (mod32+ (md5-regs-a regs) a)
|
(setf (md5-regs-a regs) (mod32+ (md5-regs-a regs) A)
|
||||||
(md5-regs-b regs) (mod32+ (md5-regs-b regs) b)
|
(md5-regs-b regs) (mod32+ (md5-regs-b regs) B)
|
||||||
(md5-regs-c regs) (mod32+ (md5-regs-c regs) c)
|
(md5-regs-c regs) (mod32+ (md5-regs-c regs) C)
|
||||||
(md5-regs-d regs) (mod32+ (md5-regs-d regs) d))
|
(md5-regs-d regs) (mod32+ (md5-regs-d regs) D))
|
||||||
regs))
|
regs))
|
||||||
|
|
||||||
;;; Section 3.4: Converting 8bit-vectors into 16-Word Blocks
|
;;; Section 3.4: Converting 8bit-vectors into 16-Word Blocks
|
||||||
|
|||||||
Reference in New Issue
Block a user