I thought I'd post my solution in the hopes that it will help someone else.
I found this plugin, which allows WP users to authenticate from an external database:
http://wordpress.org/extend/plugins/...uthentication/
I had to modify the source code to deal with vB's salted MD5 hashes, but apart from that it did the trick.
On the plugin config page select "Other" for the
Password encryption method, then put this in for the
Hash code:
Code:
$password2 = md5(md5($password) . $salt);
Then you'll just need to modify the plugin source code so it can grab the salt from the vB DB. Just search for
case "Other" and replace what's there with this code:
Code:
case "Other" :
$query = "SELECT salt FROM " . get_option('ext_db_table') . " WHERE " . get_option('ext_db_namefield') . " = '$username'";
$result = db_functions($driver,"query",$resource,$query);
$row = db_functions($driver,"fetch",$result,"");
$salt = $row["salt"];
eval(get_option('ext_db_other_enc'));
break;
Hope this helps.