(type egg)
(signature "blowfish 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/blowfish" "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.") (tags "egg")) (section 2 "blowfish" (p "Blowfish cipher (based on Paul Kocher implementation).")) (section 2 "Documentation" (def (sig (procedure "(make-blowfish-encryptor key)" (id make-blowfish-encryptor)))) (def (sig (procedure "(make-blowfish-decryptor key)" (id make-blowfish-decryptor))) (p (tt "key") " blob minimal length 4, maximum 56 bytes.") (p "Returns one argument procedure, accept input blob and produce encrypted/decrypted output blob of same size. Input data blob should be aligned on 64 bit boundary."))) (section 2 "Usage" (highlight scheme "(require-extension blowfish)")) (section 2 "Examples" (highlight scheme "(require-extension blowfish)\n\n(define enc (make-blowfish-encryptor (string->blob \"TESTKEY\")))\n(enc '#${0100000002000000}) ; => '#${d23f33dfb41ba730}\n\n(define dec (make-blowfish-decryptor (string->blob \"TESTKEY\"))) \n(dec '#${d23f33dfb41ba730}) ; => '#${0100000002000000}\n")) (section 2 "Notes") (section 2 "Author" (p (int-link "rivo"))) (section 2 "Version history" (dl (dt "1.1") (dd "encryption/decryption fix on 64 bit systems") (dt "1.0") (dd "major release (cosmetic fixes)") (dt "0.1") (dd "initial release"))) (section 2 "License LGPL")))
