(type egg)
(signature "hmac egg")
(timestamp 1612269487)
(sxml ((section 2 "Outdated egg!" (p "This is an egg for CHICKEN 4, the unsupported old release.  You're almost certainly looking for " (int-link "/eggref/5/hmac" "the CHICKEN 5 version of this egg") ", if it exists.") (p "If it does not exist, there may be equivalent functionality provided by another egg; have a look at the " (link "https://wiki.call-cc.org/chicken-projects/egg-index-5.html" "egg index") ". Otherwise, please consider porting this egg to the current version of CHICKEN.")) (section 2 "HMAC" (toc) (section 3 "Description" (p "Provides a basic and primitive hmac. From " (link "https://secure.wikimedia.org/wikipedia/en/wiki/HMAC" "wikipedia") ": \"In cryptography, HMAC (Hash-based Message Authentication Code) is a specific construction for calculating a message authentication code (MAC) involving a cryptographic hash function in combination with a secret key.\"")) (section 3 "Repository" (p (link "https://github.com/ThomasHintz/chicken-scheme-hmac"))) (section 3 "Author" (p (int-link "/users/thomas-hintz" "Thomas Hintz")) (p "Contact me at t@thintz.com.")) (section 3 "Requirements" (ul (li (int-link "Message Digest")))) (section 3 "List of Procedures" (section 4 (tt "hmac") (def (sig (procedure "(hmac key digest-primitive #!optional (result-form 'string))" (id hmac))) (p "Takes " (tt "key") " and " (tt "digest-primitive") " and returns a function that takes " (tt "message") " and produces an hmac.") (p "The " (tt "result-form") " parameter may be used to change the format of the resulting hash, please refer to the " (int-link "/eggref/4/message-digest" "message-digest documentation") " for more informations."))) (section 4 (tt "hmac-primitive") (def (sig (procedure "(hmac-primitive key digest-primitive)" (id hmac-primitive))) (p "Takes " (tt "key") " and " (tt "digest-primitive") " and returns a " (b "message-digest-primitive") " that calculates the HMAC with the parameters given.")))) (section 3 "Example" (highlight scheme "(use hmac sha1)\n\n((hmac \"secret-key\" (sha1-primitive)) \"message\")")) (section 3 "Version History" (section 4 "7.1.0" (p "Rewritten as a " (b "message-digest") " primitive. Removed the " (tt "block-size") " parameter as that's something specified by the hashing algorithm chosen.")) (section 4 "7.0.1" (p "The " (b "hmac") " procedure no longer destroys the input. Code cleanup and miscellaneous fixes.")) (section 4 "7" (p "Removed dependency on srfi-4-utils as it is GPL and hmac is BSD.")) (section 4 "6" (p "Fixed egg category (was cryptography, now crypt)")) (section 4 "4" (p "Forgot to update .setup to match version in .release-info")) (section 4 "3" (p "Fixed install dependency bug")) (section 4 "2" (p "...not sure...")) (section 4 "1" (p "Initial release."))))))
