;;;; sha2-primitive.scm -*- Scheme -*- ;;;; Kon Lovett, Jul '18 (module sha256-primitive (;export sha256-primitive) (import scheme (chicken base)) (require-library sha2-api) (import message-digest-primitive sha256-api) (define sha256-primitive (let ((the-sha256-primitive #f)) (lambda () (unless the-sha256-primitive (set! the-sha256-primitive (make-message-digest-primitive context-size digest-length init update final #:block-length block-length #:raw-update raw-update #:name name)) ) the-sha256-primitive ) ) ) ) ;module sha256-primitive (module sha384-primitive (;export sha384-primitive) (import scheme (chicken base)) (require-library sha2-api) (import message-digest-primitive sha384-api) (define sha384-primitive (let ((the-sha384-primitive #f)) (lambda () (unless the-sha384-primitive (set! the-sha384-primitive (make-message-digest-primitive context-size digest-length init update final #:block-length block-length #:raw-update raw-update #:name name)) ) the-sha384-primitive ) ) ) ) ;module sha384-primitive (module sha512-primitive (;export sha512-primitive) (import scheme (chicken base)) (require-library sha2-api) (import message-digest-primitive sha512-api) (define sha512-primitive (let ((the-sha512-primitive #f)) (lambda () (unless the-sha512-primitive (set! the-sha512-primitive (make-message-digest-primitive context-size digest-length init update final #:block-length block-length #:raw-update raw-update #:name name)) ) the-sha512-primitive ) ) ) ) ;module sha512-primitive