I need to access the crypto functions of OpenSSL to encode Blowfish data in a CBC streams. I’ve googled and found some Blowfish libraries (hand written) and some OpenSSL wrappers (none of the seem complete.)
In the end, I need to access the certain OpenSSL functions, such as the full blowfish.h library of commands. What’s the pythonic/right way of accessing them? Using something like SWIG to allow Python/C bindings, or is there a better way?
Thanks!
There’s lots of ways to interface with C (and C++) in Python. ctypes is pretty nice for quick little extensions, but it has a habit of turning would be compile time errors into runtime segfaults. If you’re looking to write your own extension, SIP is very nice. SWIG is very general, but has a larger following. Of course, the first thing you should be doing is seeing if you really need to interface. Have you looked at PyCrypto?