### Summary

While setting up sonarqube and automating setting the admin password directly in the database, I noticed that their bcrypt implementation is outdated and only supports the 2a version, while the password_hash bcrypt filter using passlib defaults to the latest version (2b).

I'd like to set the ident parameter of passlib bcrypt function from the password_hash filter (like with rounds).

Right now I'm doing this:
```yaml
    - name: encrypt password
      command:
        cmd: python3 -
        stdin: |
          from passlib.hash import bcrypt
          print(bcrypt.using(rounds=12,ident="2a").hash("{{ admin_password }}"))
      register: tmp
```
as a workaround.

Obviously, sonarqube should upgrade their bcrypt version, but ansible should also be able to handle this.

Passlib doc: https://passlib.readthedocs.io/en/stable/lib/passlib.hash.bcrypt.html#

### Issue Type

Feature Idea

### Component Name

password_hash

### Additional Information

```yaml
password: "{{ admin_password | password_hash('bcrypt', rounds=12, ident='2a') }}"
```

### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
'''Generate a string containing all valid chars as defined by ``characters``
    :arg characters: A list of character specs. The character specs are
        shorthand names for sets of characters like 'digits', 'ascii_letters',
        or 'punctuation' or a string to be included verbatim.
    The values of each char spec can be:
    * a name of an attribute in the 'strings' module ('digits' for example).
      The value of the attribute will be added to the candidate chars.
    * a string of characters. If the string isn't an attribute in 'string'
      module, the string will be directly added to the candidate chars.
    For example::
        characters=['digits', '?|']``
    will match ``string.digits`` and add all ascii digits.  ``'?|'`` will add
    the question mark and pipe characters directly. Return will be the string::
        u'0123456789?|'
    '''
    chars = []
    for chars_spec in characters:
        
        
        chars.append(to_text(getattr(string, to_native(chars_spec), chars_spec),
                     errors='strict'))
    chars = u''.join(chars).replace(u'"', u'').replace(u"'", u'')
    return chars
def _parse_content(content):