PBE Cryptography

Descubra mais sobre o componente PBE Cryptography e saiba como utilizá-lo na Digibee Integration Platform.

O PBE Cryptography faz operações de criptografia e descriptografia usando o algoritmo PBE (Password Based Encryption).

Parâmetros

Dê uma olhada nas opções de configuração do componente. Parâmetros suportados por expressões Double Braces estão marcados com (DB).

ParâmetroDescriçãoValor padrãoTipo de dado

Crypto Operation

Tipos de operação disponíveis - Encrypt Fields, Decrypt Fields, Encrypt Payload e Decrypt Payload.

Encrypt Fields

String

Account

Conta a ser utilizada pelo componente. É esperada uma conta tipo Secret Key.

N/A

String

Iteration Count

Número de iterações com o Salt.

1000

Inteiro

Algorithm

Tipo de algoritmo a ser utilizado.

PBEWithMD5AndDES

String

Fields To Encrypt/Decrypt

Campos a serem criptografados/descriptografados utilizando uma notação com pontos (ex.: body.field1, body.field2, body).

a.test

String

Payload To Encrypt/Decrypt (DB)

Payload a ser criptografado/descriptografado utilizando uma notação com pontos. Expressões Double Braces são permitidas.

N/A

String

Charset

Tipo de codificação.

UTF-8

String

Secret Key Type

Formato da secret key (String, Hexadecimal ou Base64).

Base64

String

Fail On Error

Se a opção estiver ativada, a execução do pipeline com erro será interrompida; do contrário, a execução do pipeline continua, mas o resultado vai mostrar um valor falso para a propriedade sucesso.

False

Booleano

Advanced Settings

Configurações avançadas.

False

Booleano

Use Key From Payload

Se ativada, a opção utilizará a secret key do payload.

False

Booleano

Secret Key

Chave em formato Hex ou Base64.

N/A

String

Use Salt From Payload

Se ativada, a opção utilizará o Salt do payload; do contrário, um novo Salt será gerado.

False

Booleano

Salt

Cadeia aleatória de dados utilizada para modificar um hash de senha.

N/A

String

Encryption Key As Hex Value

Se a opção estiver ativada, o retorno da secret key será em hexadecimal; do contrário, será em Base64 caso a opção "Use Key From Payload" também esteja ativada.

False

Booleano

Salt As Hex Value

Se a opção estiver ativada, o retorno do Salt será em hexadecimal; do contrário, será em Base64.

False

Booleano

Encrypted Message As Hex

Se a opção estiver ativada, o retorno da secret key será em hexadecimal; do contrário, será em Base64.

False

Booleano

Fluxo de Mensagens

Criptografar via fields

Entrada

{
  "accountLabel": "account",
  "params": {
    "operation": "encrypt_fields",
    "iterationCount": 1000,
    "keyType": "STRING",
    "algorithm": "PBEWithMD5AndDES",
    "encryptedFields": "a.test",
    "failOnError": true
  }
}

Payload

{
  "a": {
    "test": "test"
  }
}

Saída

{
  "a": {
    "test": "ZmRmcw=="
  },
  "_salt": "ZmRmcwZmRmcw=="
}

Descriptografar via fields

Entrada

{
  "accountLabel": "account",
  "params": {
    "operation": "decrypt_fields",
    "iterationCount": 1000,
    "keyType": "STRING",
    "algorithm": "PBEWithMD5AndDES",
    "encryptedFields": "a.test",
    "useSaltFromPayload": true,
    "salt": "{{ message._salt }}",
    "failOnError": true
  }
}

Payload

{
  "a": {
    "test": "ZmRmcw=="
  },
  "_salt": "ZmRmcwZmRmcw=="
}

Saída

{
  "a": {
    "test": "test"
  },
  "_salt": "ZmRmcwZmRmcw=="
}

Criptografar via payload

Entrada

{
"accountLabel": "pbe",
    "params": {
        "operation": "encrypt_payload",
        "iterationCount": 1000,
        "payload": "{{ message.a.test }}",
        "keyType": "STRING",
        "algorithm": "PBEWithMD5AndDES",
        "failOnError": true
    }
}

Payload

{
  "a": {
    "test": "test"
  }
}

Saída

{
  "a": {
    "test": "test"
  },
  "result": "ZmRmcw==",
  "_salt": "ZmRmcwZmRmcw=="
}

Descriptografar via payload

Entrada

{
"accountLabel": "pbe",
    "params": {
        "operation": "decrypt_payload",
        "iterationCount": 1000,
        "payload": "{{ message.a.test }}",
        "keyType": "STRING",
        "algorithm": "PBEWithMD5AndDES",
        "useSaltFromPayload": true,
"salt": "{{ message._salt }}",
        "failOnError": true
    }
}

Payload

{
  "a": {
    "test": "ZmRmcw=="
  }
}

Saída

{
  "a": {
    "test": "ZmRmcw=="
  },
  "result": "test",
  "_salt": "ZmRmcwZmRmcw=="
}

Atualizado