I believe, your PHP syntax is flawed. Strive these,
perform wpgenerapass_generate_password( $password, $size, $special_chars, $extra_special_chars ) {
$chars="abcdefghijklmnopqrstuvwxyz";
$chars .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$chars .= '0123456789';
$chars .= '!@#$%^&*()';
if ( $extra_special_chars ) {
$chars .= '-_ []{}<>~`+=,.;:/?|';
}
$wpgenerapass_password = ''; // Initialize the password string
$password_length = 8;
for ( $i = 0; $i < $password_length; $i += 1 ) {
$wpgenerapass_password .= substr( $chars, wp_rand( 0, strlen( $chars ) - 1 ), 1 );
}
return $wpgenerapass_password;
}
add_filter( 'random_password', 'wpgenerapass_generate_password', 99, 4 );