FunctionPackage: exclToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 10.1
Unrevised from 10.0 to 10.1.
10.0 version

sha384-final

Arguments: context &key return

Finalize and return the SHA384 hash from context in a format determined by the return keyword argument.

return can be one of the following values:

cl-user(4): (setq c (sha384-init))
#S(excl::md-context :ctx 9183040 :size 48)
cl-user(5): (sha384-update c "foo")
cl-user(6): (sha384-final c :return :usb8)
#(152 193 31 253 253 213 64 103 107 26 ...)

;;  Potential problem with :return :integer (or :return unspecified
;;  as the default is :integer). The call is to SHA384-FILE which calls
;;  SHA384-FINAL and returns the value SHA384-FINAL returns.
;;
;;  Here we get the sha384 value in a shell:
% openssl dgst -sha384 -hex alpha7.png 
SHA384(xmldoc/html101/pictures/alpha7.png)= 050636aaa2227c310baf6bd61ad776ee570e5397c34bbcfc70e77c64732f77815014ea901e82295680cf1884aceaa58c

;; Now we get it with SHA384-FILE:
cl-user(17): (sha384-file "~/alpha7.png")
773306181619244679031124675510480299112986182387103599724892235134372856148817968769021349632470443136944358204812
cl-user(18): (format t "~x" *)
50636aaa2227c310baf6bd61ad776ee570e5397c34bbcfc70e77c64732f77815014ea901e82295680cf1884aceaa58c
nil
cl-user(19): 

;; Note the hex values are the same but the leading 0 is not printed
;; by Lisp, which is dealing with the value as an integer. The leading
;; 0 is preserved when the :return is :hex:
cl-user(21): (sha384-file "~/alpha7.png" :return :hex)
"050636aaa2227c310baf6bd61ad776ee570e5397c34bbcfc70e77c64732f77815014ea901e82295680cf1884aceaa58c"
cl-user(22): 

See MD*, SHA*, HMAC, and other message digest support in miscellaneous.htm. See also digest-final.


Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 10.0 page.
Created 2019.8.20.

ToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 10.1
Unrevised from 10.0 to 10.1.
10.0 version