### 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
with passlib_off():
        assert not encrypt.PASSLIB_AVAILABLE
        assert get_encrypted_password("123", "md5", salt="12345678") == "$1$12345678$tRy4cXc3kmcfRZVj4iFXr/"
        with pytest.raises(AnsibleFilterError):
            get_encrypted_password("123", "crypt16", salt="12")
def test_password_hash_filter_passlib():
    if not encrypt.PASSLIB_AVAILABLE:
        pytest.skip("passlib not available")
    with pytest.raises(AnsibleFilterError):
        get_encrypted_password("123", "sha257", salt="12345678")
    
    assert get_encrypted_password("123", "sha256", salt="12345678") == "$5$12345678$uAZsE3BenI2G.nA8DpTl.9Dc8JiqacI53pEqRr5ppT7"
    assert get_encrypted_password("123", "sha256", salt="12345678", rounds=5000) == "$5$12345678$uAZsE3BenI2G.nA8DpTl.9Dc8JiqacI53pEqRr5ppT7"
    assert (get_encrypted_password("123", "sha256", salt="12345678", rounds=10000) ==
            "$5$rounds=10000$12345678$JBinliYMFEcBeAXKZnLjenhgEhTmJBvZn3aR8l70Oy/")
    assert (get_encrypted_password("123", "sha512", salt="12345678", rounds=6000) ==
            "$6$rounds=6000$12345678$l/fC67BdJwZrJ7qneKGP1b6PcatfBr0dI7W6JLBrsv8P1wnv/0pu4WJsWq5p6WiXgZ2gt9Aoir3MeORJxg4.Z/")
    assert (get_encrypted_password("123", "sha512", salt="12345678", rounds=5000) ==
            "$6$12345678$LcV9LQiaPekQxZ.OfkMADjFdSO2k9zfbDQrHPVcYjSLqSdjLYpsgqviYvTEP/R41yPmhH3CCeEDqVhW1VHr3L.")
    assert get_encrypted_password("123", "crypt16", salt="12") == "12pELHK2ME3McUFlHxel6uMM"
    
    assert get_encrypted_password("123", "pbkdf2_sha256")
@pytest.mark.skipif(sys.platform.startswith('darwin'), reason='macOS requires passlib')
def test_do_encrypt_no_passlib():