»/sys/tools

The /sys/tools endpoints are a general set of tools.

»Generate Random Bytes

This endpoint returns high-quality random bytes of the specified length.

MethodPath
POST/sys/tools/random(/:bytes)

»Parameters

  • bytes (int: 32) – Specifies the number of bytes to return. This value can be specified either in the request body, or as a part of the URL.

  • format (string: "base64") – Specifies the output encoding. Valid options are hex or base64.

»Sample Payload

{
  "format": "hex"
}
{  "format": "hex"}

»Sample Request

$ curl \
    --header "X-Vault-Token: ..." \
    --request POST \
    --data @payload.json \
    http://127.0.0.1:8200/v1/sys/tools/random/164
$ curl \    --header "X-Vault-Token: ..." \    --request POST \    --data @payload.json \    http://127.0.0.1:8200/v1/sys/tools/random/164

»Sample Response

{
  "data": {
    "random_bytes": "dGhlIHF1aWNrIGJyb3duIGZveAo="
  }
}
{  "data": {    "random_bytes": "dGhlIHF1aWNrIGJyb3duIGZveAo="  }}

»Hash Data

This endpoint returns the cryptographic hash of given data using the specified algorithm.

MethodPath
POST/sys/tools/hash(/:algorithm)

»Parameters

  • algorithm (string: "sha2-256") – Specifies the hash algorithm to use. This can also be specified as part of the URL. Currently-supported algorithms are:

  • input (string: <required>) – Specifies the base64 encoded input data.

  • format (string: "hex") – Specifies the output encoding. This can be either hex or base64.

»Sample Payload

{
  "input": "adba32=="
}
{  "input": "adba32=="}

»Sample Request

$ curl \
    --header "X-Vault-Token: ..." \
    --request POST \
    --data @payload.json \
    http://127.0.0.1:8200/v1/sys/tools/hash/sha2-512
$ curl \    --header "X-Vault-Token: ..." \    --request POST \    --data @payload.json \    http://127.0.0.1:8200/v1/sys/tools/hash/sha2-512

»Sample Response

{
  "data": {
    "sum": "dGhlIHF1aWNrIGJyb3duIGZveAo="
  }
}
{  "data": {    "sum": "dGhlIHF1aWNrIGJyb3duIGZveAo="  }}