---
title: Cost Based Password Storage Scheme
description: This is an abstract object type that cannot be instantiated.
component: pingds
version: 8.1
page_id: pingds:configref:objects-cost-based-password-storage-scheme
canonical_url: https://docs.pingidentity.com/pingds/8.1/configref/objects-cost-based-password-storage-scheme.html
section_ids:
  cost_based_password_storage_schemes: Cost Based Password Storage Schemes
  parent: Parent
  cost_based_password_storage_scheme_properties: Cost Based Password Storage Scheme properties
  basic_properties: Basic properties
  enabled: enabled
  java-class: java-class
  advanced_properties: Advanced properties
  remote-password-hashing-base-uri: remote-password-hashing-base-uri
  remote-password-hashing-connection-timeout: remote-password-hashing-connection-timeout
  remote-password-hashing-enabled: remote-password-hashing-enabled
  remote-password-hashing-max-connections: remote-password-hashing-max-connections
  remote-password-hashing-request-timeout: remote-password-hashing-request-timeout
---

# Cost Based Password Storage Scheme

*This is an abstract object type that cannot be instantiated.*

Cost Based Password Storage Schemes protect passwords against attackers by using costly hashing algorithms, that are designed to use a lot of CPU, and maybe memory too.

Cost Based Password Storage Schemes are designed to protect weak passwords that have low entropy. When using passwords with high entropy, as recommended for administrative or service accounts, it is possible to use hashing algorithms that are not cost-based. To avoid the need to scale PingDS for the sole purpose of cost-based hashing, Cost Based Password Storage Schemes can offload password hashing to a dedicated microservice.

## Cost Based Password Storage Schemes

The following Cost Based Password Storage Schemes are available:

* [Bcrypt Password Storage Scheme](objects-bcrypt-password-storage-scheme.html)

* [PBKDF2 Password Storage Scheme](objects-pbkdf2-password-storage-scheme.html)

These Cost Based Password Storage Schemes inherit the properties described below.

## Parent

The Cost Based Password Storage Scheme object inherits from [Password Storage Scheme](objects-password-storage-scheme.html).

## Cost Based Password Storage Scheme properties

You can use configuration expressions to set property values at startup time. For details, see [Property value substitution](expressions.html).

| Basic Properties                              | Advanced Properties                                                                                                                                                                                                                                                                                                                                                                                         |
| --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [enabled](#enabled) [java-class](#java-class) | [remote-password-hashing-base-uri](#remote-password-hashing-base-uri) [remote-password-hashing-connection-timeout](#remote-password-hashing-connection-timeout) [remote-password-hashing-enabled](#remote-password-hashing-enabled) [remote-password-hashing-max-connections](#remote-password-hashing-max-connections) [remote-password-hashing-request-timeout](#remote-password-hashing-request-timeout) |

### Basic properties

Use the `--advanced` option to access advanced properties.

### enabled

|                         |                                                                   |
| ----------------------- | ----------------------------------------------------------------- |
| *Synopsis*              | Indicates whether the Password Storage Scheme is enabled for use. |
| *Default value*         | None                                                              |
| *Allowed values*        | truefalse                                                         |
| *Multi-valued*          | No                                                                |
| *Required*              | Yes                                                               |
| *Admin action required* | None                                                              |
| *Advanced*              | No                                                                |
| *Read-only*             | No                                                                |

### java-class

|                         |                                                                                                                |
| ----------------------- | -------------------------------------------------------------------------------------------------------------- |
| *Synopsis*              | Specifies the fully-qualified name of the Java class that provides the Password Storage Scheme implementation. |
| *Default value*         | None                                                                                                           |
| *Allowed values*        | A Java class that extends or implements:- org.opends.server.api.PasswordStorageScheme                          |
| *Multi-valued*          | No                                                                                                             |
| *Required*              | Yes                                                                                                            |
| *Admin action required* | None                                                                                                           |
| *Advanced*              | No                                                                                                             |
| *Read-only*             | No                                                                                                             |

## Advanced properties

Use the `--advanced` option to access advanced properties.

### remote-password-hashing-base-uri

|                         |                                                                         |
| ----------------------- | ----------------------------------------------------------------------- |
| *Synopsis*              | Specifies the base URI to connect to the password hashing microservice. |
| *Default value*         | None                                                                    |
| *Allowed values*        | A string.                                                               |
| *Multi-valued*          | No                                                                      |
| *Required*              | No                                                                      |
| *Admin action required* | None                                                                    |
| *Advanced*              | Yes                                                                     |
| *Read-only*             | No                                                                      |

### remote-password-hashing-connection-timeout

|                         |                                                                                    |
| ----------------------- | ---------------------------------------------------------------------------------- |
| *Synopsis*              | Specifies the timeout to use when connecting to the password hashing microservice. |
| *Default value*         | 10 s                                                                               |
| *Allowed values*        | Uses [duration syntax](duration-syntax.html).Lower limit: 0 seconds.               |
| *Multi-valued*          | No                                                                                 |
| *Required*              | No                                                                                 |
| *Admin action required* | None                                                                               |
| *Advanced*              | Yes                                                                                |
| *Read-only*             | No                                                                                 |

### remote-password-hashing-enabled

|                         |                                                                             |
| ----------------------- | --------------------------------------------------------------------------- |
| *Synopsis*              | Specifies whether to delegate password hashing to a dedicated microservice. |
| *Default value*         | false                                                                       |
| *Allowed values*        | truefalse                                                                   |
| *Multi-valued*          | No                                                                          |
| *Required*              | No                                                                          |
| *Admin action required* | None                                                                        |
| *Advanced*              | Yes                                                                         |
| *Read-only*             | No                                                                          |

### remote-password-hashing-max-connections

|                         |                                                                                   |
| ----------------------- | --------------------------------------------------------------------------------- |
| *Synopsis*              | Specifies the maximum number of connections to the password hashing microservice. |
| *Default value*         | 64                                                                                |
| *Allowed values*        | An integer.Lower limit: 0.                                                        |
| *Multi-valued*          | No                                                                                |
| *Required*              | No                                                                                |
| *Admin action required* | None                                                                              |
| *Advanced*              | Yes                                                                               |
| *Read-only*             | No                                                                                |

### remote-password-hashing-request-timeout

|                         |                                                                           |
| ----------------------- | ------------------------------------------------------------------------- |
| *Synopsis*              | Specifies the timeout for a request to the password hashing microservice. |
| *Default value*         | 10 s                                                                      |
| *Allowed values*        | Uses [duration syntax](duration-syntax.html).Lower limit: 0 seconds.      |
| *Multi-valued*          | No                                                                        |
| *Required*              | No                                                                        |
| *Admin action required* | None                                                                      |
| *Advanced*              | Yes                                                                       |
| *Read-only*             | No                                                                        |
