Index: wp-includes/pluggable.php
===================================================================
--- wp-includes/pluggable.php	(revision 10234)
+++ wp-includes/pluggable.php	(working copy)
@@ -1242,7 +1242,7 @@
 		} else {
 			$salt = get_option('auth_salt');
 			if ( empty($salt) ) {
-				$salt = wp_generate_password();
+				$salt = wp_generate_password(64, true, true);
 				update_option('auth_salt', $salt);
 			}
 		}
@@ -1255,7 +1255,7 @@
 		} else {
 			$salt = get_option('secure_auth_salt');
 			if ( empty($salt) ) {
-				$salt = wp_generate_password();
+				$salt = wp_generate_password(64, true, true);
 				update_option('secure_auth_salt', $salt);
 			}
 		}
@@ -1268,7 +1268,7 @@
 		} else {
 			$salt = get_option('logged_in_salt');
 			if ( empty($salt) ) {
-				$salt = wp_generate_password();
+				$salt = wp_generate_password(64, true, true);
 				update_option('logged_in_salt', $salt);
 			}
 		}
@@ -1281,7 +1281,7 @@
 		} else {
 			$salt = get_option('nonce_salt');
 			if ( empty($salt) ) {
-				$salt = wp_generate_password();
+				$salt = wp_generate_password(64, true, true);
 				update_option('nonce_salt', $salt);
 			}
 		}
@@ -1396,10 +1396,12 @@
  *
  * @return string The random password
  **/
-function wp_generate_password($length = 12, $special_chars = true) {
+function wp_generate_password($length = 12, $special_chars = true, $extra_special_chars = false) {
 	$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
 	if ( $special_chars )
 		$chars .= '!@#$%^&*()';
+	if ( $extra_special_chars )
+		$chars .= '-_ []{}<>~`+=,.;:/?|';
 
 	$password = '';
 	for ( $i = 0; $i < $length; $i++ )
