cl-fish

The CL-fish Library is a foreign-function interface (FFI) between ACL and the Blowfish encryption/decryption functions contained in the OpenSSL cryptographic package.

This package provides you with both a low-level interface that allows you to encrypt arrays of bytes in memory, and with a high-level one implemented using ACL's simple streams. Here is an example of how to use the streams interface:

  (let ((key (bf-new-key "SeCrEtKeY")))
    (with-open-file (out "secret.msg" :direction :output
                                      :if-does-not-exist :create
                                      :class 'blowfish-stream
                                      :key key)
      (format out "Secret message!~%")))

The file "secret.msg" will now contain the encrypted text.

cl-fish runs under ACL version 6 on the Linux and Windows platforms, and relies on the presence of the OpenSSL package.

cl-fish was written by Alberto Riva? and can be freely downloaded from his Lisp page.

CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively