I found myself reminiscing about my implementation of Blowfish today. It earned me the great honour of being listed on Bruce Schneier’s web page. My implementation made Blowfish compatible across 32-bit signed ints, 64-bit signed ints, and 64-bit floats. I wrote this code coming up on 12 years ago… how time flies.
Tag Archives: pccipher
This is where all the trouble began. Back on July 19th this year I commented on the base64_encode function over at phpjs.org letting them know about a bug in their function whereby they were encoding as UTF-8 (whatever that means) prior to doing the Base64 encoding, which is a bug. Anyway, I had to patch the code myself for its use in pccipher and after several months no-one at phpjs has fixed up the implementation. So, that makes me mad, and when I’m mad, I fork!
I forked ProgSoc into ProgClub, and now I’m forking phpjs.org into jsphp.co. Both times it was because there was something going on that gave me the shits and I felt as if I could do a better job. So far I’m really pleased with my results. One great thing about forking is that it encourages the other party to lift their game. I wouldn’t be surprised to see phpjs.org improve its features after they see what I’ve done with jsphp.co.
Update: I ended up fixing that base64_encode function. My notes are in the comments.
I released pccipher today. This is my most significant open-source contribution, ever. I’m pretty proud of myself today.