Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography Library 1.85
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.bouncycastle.crypto.params
Class Argon2Parameters.Builder

    java.lang.Object
      org.bouncycastle.crypto.params.Argon2Parameters.Builder

Enclosing class:
  Argon2Parameters

public static class Argon2Parameters.Builder
extends java.lang.Object

Fluent builder for `Argon2Parameters`.

Constructor Summary
`Argon2Parameters.Builder()` Create a builder defaulting to `Argon2Parameters.ARGON2_i`.
`Argon2Parameters.Builder(int type)` Create a builder for the given Argon2 variant.

Method Summary
`Argon2Parameters` | `build()` Construct an immutable `Argon2Parameters` from the current builder state.
`void` | `clear()` Zeroise sensitive state (salt, secret, additional) held by this builder.
`Argon2Parameters.Builder` | `withAdditional(byte[] additional)` Set the optional additional/associated data.
`Argon2Parameters.Builder` | `withBlockPool(Argon2BytesGenerator.BlockPool blockPool)` Provide a custom `BlockPool` for the generator to source its working blocks from.
`Argon2Parameters.Builder` | `withCharToByteConverter(CharToByteConverter converter)` Override the converter used to turn passwords into bytes.
`Argon2Parameters.Builder` | `withIterations(int iterations)` Set the number of passes (time cost).
`Argon2Parameters.Builder` | `withMemoryAsKB(int memory)` Set the memory cost expressed directly in KiB.
`Argon2Parameters.Builder` | `withMemoryPowOfTwo(int memory)` Set the memory cost as a power of two: the resulting memory in KiB is .
`Argon2Parameters.Builder` | `withParallelism(int parallelism)` Set the parallelism (number of lanes).
`Argon2Parameters.Builder` | `withSalt(byte[] salt)` Set the salt.
`Argon2Parameters.Builder` | `withSecret(byte[] secret)` Set the optional secret (key) value.
`Argon2Parameters.Builder` | `withVersion(int version)` Set the Argon2 version.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Argon2Parameters.Builder

    public Argon2Parameters.Builder()

  Create a builder defaulting to `Argon2Parameters.ARGON2_i`.

### Argon2Parameters.Builder

    public Argon2Parameters.Builder(int type)

  Create a builder for the given Argon2 variant.

Parameters:
  `type` - one of `Argon2Parameters.ARGON2_d`, `Argon2Parameters.ARGON2_i`, or `Argon2Parameters.ARGON2_id`.

Method Detail

### withParallelism

    public Argon2Parameters.Builder withParallelism(int parallelism)

  Set the parallelism (number of lanes).

  Parameters:
    `parallelism` - the degree of parallelism, must be at least 1.
  Returns:
    this builder.

### withSalt

    public Argon2Parameters.Builder withSalt(byte[] salt)

  Set the salt. The supplied array is defensively cloned.

  Parameters:
    `salt` - salt bytes; may be null.
  Returns:
    this builder.

### withSecret

    public Argon2Parameters.Builder withSecret(byte[] secret)

  Set the optional secret (key) value. The supplied array is defensively cloned.

  Parameters:
    `secret` - secret bytes; may be null.
  Returns:
    this builder.

### withAdditional

    public Argon2Parameters.Builder withAdditional(byte[] additional)

  Set the optional additional/associated data. The supplied array is defensively cloned.

  Parameters:
    `additional` - additional data bytes; may be null.
  Returns:
    this builder.

### withIterations

    public Argon2Parameters.Builder withIterations(int iterations)

  Set the number of passes (time cost).

  Parameters:
    `iterations` - number of iterations, must be at least 1.
  Returns:
    this builder.

### withMemoryAsKB

    public Argon2Parameters.Builder withMemoryAsKB(int memory)

  Set the memory cost expressed directly in KiB.

  Parameters:
    `memory` - memory in KiB; must be in .
  Returns:
    this builder.
  Throws:
    `java.lang.IllegalArgumentException` - if the value is out of range.

### withMemoryPowOfTwo

    public Argon2Parameters.Builder withMemoryPowOfTwo(int memory)

  Set the memory cost as a power of two: the resulting memory in KiB is .

  Parameters:
    `memory` - exponent; must be in .
  Returns:
    this builder.
  Throws:
    `java.lang.IllegalArgumentException` - if the exponent is out of range.

### withVersion

    public Argon2Parameters.Builder withVersion(int version)

  Set the Argon2 version.

  Parameters:
    `version` - one of `Argon2Parameters.ARGON2_VERSION_10` or `Argon2Parameters.ARGON2_VERSION_13`.
  Returns:
    this builder.

### withCharToByteConverter

    public Argon2Parameters.Builder withCharToByteConverter(CharToByteConverter converter)

  Override the converter used to turn passwords into bytes. Default is `PasswordConverter.UTF8`.

  Parameters:
    `converter` - the character-to-byte converter to use.
  Returns:
    this builder.

### withBlockPool

    public Argon2Parameters.Builder withBlockPool(Argon2BytesGenerator.BlockPool blockPool)

  Provide a custom `BlockPool` for the generator to source its working blocks from. Useful in high-throughput scenarios where the cost of allocating fresh buffers per call dominates. If null (the default) the generator creates a per-call FixedBlockPool.

### build

    public Argon2Parameters build()

  Construct an immutable `Argon2Parameters` from the current builder state.

  Returns:
    the configured parameters.

### clear

    public void clear()

  Zeroise sensitive state (salt, secret, additional) held by this builder.

Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography Library 1.85
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD