Hashing/crypto libraries

Inspired both by recent news stories and a TODO item for a personal project, I’ve poking around the various cryptographic libraries with an eye to hashing.  I’m looking at both MD5 and SHA512, and there are no shortage of libraries that provide this functionality.  And no, I’m not interested in bundling Yet Another MD5 implementation.  🙂

So far, I’ve played with openssl, gnutls, mhash and libgcrypt.  I also took a brief look at nss.  I got openssl, mhash and libgcrypt working, and gave up on gnutls and nss fairly early on.  I decided against openssl for licensing reasons (my project is GPLv3+), and mhash is somewhat less active upstream than libgcrypt.  As of this writing, I think I’ll probably stick with libgcrypt, since it’s pretty easy to use and supports a large number of algorithms, but I’m curious.  Are there any other implementations I should know about that would be better to use that I’ve not listed above?  I have no problem using libgcrypt, I just thought I’d see if anyone out there had any favourites, and is so, why.  Or any horror stories. 🙂

Public mailing lists

Sometimes, there are things that are uproariously amusing that occur on public mailing lists. I’m talking about those posts where someone unintentionally says something that makes painfully obvious. . .so many things.

The best response is to be mature and let it go. So I won’t quote it, link to it, or respond to it.

But I *had* to let it out.

Need to do/check something on lots of packages?

I do.  Not all the time, but every once in a while.  I used to have a script for doing this with CVS, but I have no idea where it went.  I also couldn’t find anything that did exactly what I wanted, so after some futzing around, I made my own.  It’s simple, it’s rough, it’s ugly, but it scratches my itch.  It takes a FAS username, and clones all packages owned by that FAS user in the current directory.  It takes an option to run fedpkg prep in in each check out as well.  You can find it here.

I’m mulling adding features, and am open to suggestions and patches as well.  If you find it useful, let me know!