> For the complete documentation index, see [llms.txt](https://docs.digibee.com/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/connectors/security/pbe-cryptography.md).

# PBE Cryptography

O **PBE Cryptography** realiza operações de criptografia e descriptografia utilizando o algoritmo PBE (Password-Based Encryption).

## **Parâmetros**

Configure o conector utilizando os parâmetros abaixo. Os campos que suportam [expressões Double Braces](/documentation/connectors-and-triggers/pt-br/double-braces/overview.md) estão marcados na coluna **Suporta DB**.

{% tabs %}
{% tab title="General" %}

<table data-header-hidden="false" data-header-sticky><thead><tr><th width="112">Parâmetro</th><th width="231">Descrição</th><th width="83">Tipo de dado</th><th width="81">Suporta DB</th><th width="100">Valor padrão</th><th width="129">Visível quando</th></tr></thead><tbody><tr><td><strong>Crypto Operation</strong></td><td>Define o tipo de operação a ser executada: <strong>Encrypt Fields</strong>, <strong>Decrypt Fields</strong>, <strong>Encrypt Payload</strong> ou <strong>Decrypt Payload</strong>.</td><td>String</td><td>❌</td><td><code>Encrypt Fields</code></td><td>—</td></tr><tr><td><strong>Use Dynamic Account</strong></td><td>Se habilitado, o conector usa a conta de forma dinâmica via o conector <a href="/pages/iulYYuz29bvfGjceZb4e"><strong>Store Account</strong></a>; caso contrário, usa a conta estática configurada em <a href="/spaces/cO0A6g1dOsu8BiHYqO67/pages/fS1QLzAg8rGSSJFwtrvy"><strong>Contas</strong></a> na Plataforma.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Scoped</strong></td><td>Se habilitado, isola a conta armazenada de outros subprocessos. Não é suportado para contas usadas em headers ou body. Para saber mais, consulte a <a href="/spaces/cO0A6g1dOsu8BiHYqO67/pages/FrKJOmsImCRBImMPMsU2">documentação de Dynamic Accounts</a>.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td><strong>Use Dynamic Account</strong> está habilitado</td></tr><tr><td><strong>Account Name</strong></td><td>Nome da conta definida no conector <a href="/pages/iulYYuz29bvfGjceZb4e"><strong>Store Account</strong></a>.</td><td>String</td><td>✅</td><td>N/A</td><td><strong>Use Dynamic Account</strong> está habilitado</td></tr><tr><td><strong>Account</strong></td><td>Conta a ser usada pelo conector. Deve ser do tipo de conta <strong>Secret Key</strong>, configurada em <a href="/spaces/cO0A6g1dOsu8BiHYqO67/pages/fS1QLzAg8rGSSJFwtrvy"><strong>Contas</strong></a> na Plataforma.</td><td>String</td><td>❌</td><td>N/A</td><td><strong>Use Dynamic Account</strong> está desabilitado</td></tr><tr><td><strong>Iteration Count</strong></td><td>Número de iterações a serem realizadas com o valor de Salt.</td><td>Integer</td><td>❌</td><td><code>1000</code></td><td>—</td></tr><tr><td><strong>Algorithm</strong></td><td>Algoritmo a ser utilizado na operação de criptografia ou descriptografia.</td><td>String</td><td>❌</td><td><code>PBEWithMD5AndDES</code></td><td>—</td></tr><tr><td><strong>Fields To Encrypt/Decrypt</strong></td><td>Campos a serem criptografados ou descriptografados, especificados usando notação com pontos (ex.: <code>body.field1, body.field2, body</code>).</td><td>String</td><td>❌</td><td><code>a.test</code></td><td>—</td></tr><tr><td><strong>Payload To Encrypt/Decrypt</strong></td><td>Payload a ser criptografado ou descriptografado, especificado usando notação com pontos.</td><td>String</td><td>✅</td><td>N/A</td><td>—</td></tr><tr><td><strong>Charset</strong></td><td>Codificação de caracteres usada para interpretar o texto.</td><td>String</td><td>❌</td><td><code>UTF-8</code></td><td>—</td></tr><tr><td><strong>Secret Key Type</strong></td><td>Formato da secret key: <strong>String</strong>, <strong>Hexadecimal</strong> ou <strong>Base64</strong>.</td><td>String</td><td>❌</td><td><code>Base64</code></td><td>—</td></tr><tr><td><strong>Fail On Error</strong></td><td>Se habilitado, interrompe a execução do pipeline quando ocorre um erro. Caso contrário, a execução prossegue e o resultado retorna <code>false</code> para a propriedade <code>"success"</code>.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Advanced Settings</strong></td><td>Habilita o acesso a opções de configuração avançadas.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Use Key From Payload</strong></td><td>Se habilitado, utiliza a secret key fornecida no payload em vez de uma chave fixa.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td><strong>Advanced Settings</strong> está habilitado</td></tr><tr><td><strong>Secret Key</strong></td><td>Valor da secret key, fornecido em formato Hexadecimal ou Base64.</td><td>String</td><td>❌</td><td>N/A</td><td><strong>Use Key From Payload</strong> está habilitado</td></tr><tr><td><strong>Use Salt From Payload</strong></td><td>Se habilitado, utiliza o valor de Salt fornecido no payload; caso contrário, um novo Salt é gerado automaticamente.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td><strong>Advanced Settings</strong> está habilitado</td></tr><tr><td><strong>Salt</strong></td><td>String de dados aleatórios usada para modificar um hash de senha.</td><td>String</td><td>❌</td><td>N/A</td><td><strong>Use Salt From Payload</strong> está habilitado</td></tr><tr><td><strong>Encryption Key As Hex Value</strong></td><td>Se habilitado, retorna a secret key em formato hexadecimal; caso contrário, ela é retornada em formato Base64 quando a opção <strong>Use Key From Payload</strong> também estiver habilitada.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td><strong>Advanced Settings</strong> está habilitado</td></tr><tr><td><strong>Salt As Hex Value</strong></td><td>Se habilitado, retorna o valor de Salt em formato hexadecimal; caso contrário, ele é retornado em formato Base64.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td><strong>Advanced Settings</strong> está habilitado</td></tr><tr><td><strong>Encrypted Message As Hex</strong></td><td>Se habilitado, retorna a mensagem criptografada em formato hexadecimal; caso contrário, ela é retornada em formato Base64.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td><strong>Advanced Settings</strong> está habilitado</td></tr></tbody></table>

{% endtab %}

{% tab title="Documentation" %}

| Parameter         | Descrição                                                                                          | Tipo de dado | Supports DB | Valor default |
| ----------------- | -------------------------------------------------------------------------------------------------- | ------------ | ----------- | ------------- |
| **Documentation** | Campo opcional para descrever a configuração do conector e quaisquer regras de negócio relevantes. | String       | ❌           | N/A           |
| {% endtab %}      |                                                                                                    |              |             |               |
| {% endtabs %}     |                                                                                                    |              |             |               |

### **Fluxo de mensagens**

#### **Criptografar via fields**

**Entrada**

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

**Payload**

```json
{  
    "a": {    
        "test": "test"  
    }
}
```

**Saída**

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

#### **Descriptografar via fields**

**Entrada**

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

**Payload**

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

**Saída**

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

#### **Criptografar via payload**

**Entrada**

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

**Payload**

```json
{  
    "a": {    
        "test": "test"  
    }
}
```

**Saída**

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

#### **Descriptografar via payload**

**Entrada**

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

**Payload**

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

**Saída**

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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/connectors/security/pbe-cryptography.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
