M_Crypto (formerly Blowfish and Bcrypt project)

And now it’s up to v.2.5.1 with optimizations that speed up the new digest classes by a factor of ~10x.

A note about those optimizations. Anyone looking to this project as an example of how to properly code in Xojo shouldn’t. In order to achieve the best speed, I’ve written the code in a way that would make kittens cry, getting as close to the metal as Xojo allows. I’ve eliminated as many function and method calls as I could by manually inlining code, avoided arrays by using MemoryBlocks, and used Ptr rather than the MemoryBlock functions wherever possible even when I had to manually flip byte order.

On the other hand, if you want an example of how to get the best possible speed regardless of readability or maintainability, this will do.

I just released v.2.5.2 with more optimizations to the digest functions and to Bcrypt/Blowfish.

v.2.5.3 is now out. The main difference is AES optimizations that make it about 2 times faster (!).

https://github.com/ktekinay/M_Crypto

I just release v.2.6. This adds CFB and OFB modes to AES and Blowfish. It also adds computed properties to get an encrypter’s code and padding as string.

https://github.com/ktekinay/M_Crypto