As most of you know, the hashing algorithm isn't as important as the length of the string hashed. A plain 10 char MD5 is known as very insecure - but a 4 char Blowfish is even worse. So salting is very important to get that original string over 30chars long and out of the reach of a rainbow table.

With that in mind I am trying to decide on wither to use the http://www.openwall.com/phpass/ method (which uses MD5 or DES when there is no BLOWFISH installed) or to go with the SHA-2 family of hashing algorithms.

This will be for an open-source system so I can't rely on bcrypt being installed (needs PHP 5.3.0+ or a PECL or a patch) which makes me think that SHA-2 (only needs PHP 5.1.2+) would be better for everyone. I could also get away from MD5.

Since phpass has been adapted by wordpress, drupal, and many others I would think that they must have reviewed it. However, SHA-2 comes with higher ranked referrals (like the government).

Another problem is that phpass takes almost a whole second to create a hash which is a rather long time (SHA256 only takes 1.4E-5sec).

http://www.nanolink.ca/pub/sha256/ have you checked that out? It wouldn't be hard at all to edit code so it always uses the script's SHA-256 function no matter if its PHP4 or PHP5. This way no PECL required since its pure PHP code.