Symmetric Cryptography

Saiba como criptografar ou descriptografar usando o componente Symmetric Cryptography.

O Symmetric Cryptography criptografa e descriptografa com base em criptografia simétrica.

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âmetro
Descrição
Valor padrão
Tipo de dado

Crypto Operation

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

Encrypt

String

Account

Conta que será utilizada pelo componente. É esperada uma conta Private key. O tamanho configurado no parâmetro Algorithm Key Size deve corresponder ao tamanho do algoritmo Private key. Do contrário, uma mensagem de erro será retornada.

N/A

String

Fields To Encrypt/Decrypt

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

body.field1,body.field2

String

Algorithm

Algoritmo a ser utilizado para criptografar/descriptografar dados.

AES

String

Algorithm Key Size

Tamanho da chave do algoritmo. Como citado anteriormente, o tamanho configurado neste parâmetro deve corresponder ao tamanho do algoritmo Private key.

256 bits

Inteiro

Operation Mode

Modo de operação a ser utilizado.

CBC

String

Padding

Utilizado em um bloco de cifra no qual os blocos são preenchidos com bytes de padding (ex.: AES 128 bits utiliza 16 bytes de padding).

PKCS5Padding

String

Fail On Error

Se a opção estiver habilitada, 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 "success".

True

Booleano

Advanced Settings

Configurações avançadas.

False

Booleano

Use IV

Essa opção é válida somente para a operação Encrypt. Se selecionada, a opção determina o IV (vetor de inicialização) para o modo CBC.

False

Booleano

Use Your Own Key

Se selecionada, a opção utilizará a sua própria chave gerada para criptografar e descriptografar dados.

False

Booleano

Encryption Key As Hex Value

Se selecionada, a opção espera/produz uma Encryption Key as Hex; do contrário, será esperada/produzida como base64.

False

Booleano

Concatenate IV

Uma mensagem encriptada é esperada/produzida com o Concatenate IV (IV+MESSAGE); do contrário, um parâmetro IV será produzido durante a encriptação e IV em IV será esperado no campo "Decryption".

False

Booleano

IV as Hex Value

Esta opção não é disponível se Concatenate IV estiver habilitado. Se for selecionada, a opção espera/produz um parâmetro IV em formato Hex; do contrário, será esperada/produzida como base64.

False

Booleano

Encrypted Message As Hex

Se selecionada, a opção espera/produz uma mensagem encriptada em formato Hex; do contrário, será esperada/produzida como base64.

False

Booleano

Fluxo de Mensagens

Key por Account - Operação Encrypt

Entrada

{
    "operation": "encrypt",
    "useOwnKey": true,
    "useIV": true,
    "algorithm": "AES",
    "operationMode": "CBC",
    "padding": "PKCS5Padding",
    "failOnError": true,
    "encryptedMessageAsHex": false,
    "iVAsHex": false,
    "encryptedFields": "data,data1"
}

Payload

{
    "data": someData,
    "data1": someData1
}

Saída

{
    "data": "RXZlbiBpZiBwZXJmZWN0IGNyeXB0b2dyYXBoaWMgcm91dGluZXMgYXJlIH=",
    "data1": "RXZlbiBpZifd441mZWN0IGNyeXB0b2dyYXBoaWMgcm91dGluZXMgYXJlIH="
}

Entrada

{
    "operation": "encrypt",
    "useOwnKey": true,
    "useIV": true,
    "algorithm": "AES",
    "operationMode": "CBC",
    "padding": "PKCS5Padding",
    "failOnError": true,
    "encryptedMessageAsHex": false,
    "iVAsHex": false,
    "encryptedFields": "data,data1"    
}

Payload

{
    "encryptionKey": "-- THE FOLLOWING PUBLIC KEY--",
    "data": "RXZlbiBpZiBwZXJmZWN0IGNyeXB0b2dyYXBoaWMgcm91dGluZXMgYXJlIH=",
    "data1": "RXZlbiBpZifd441mZWN0IGNyeXB0b2dyYXBoaWMgcm91dGluZXMgYXJlIH="    
}

Saída

{
    "ivParameterSpec": "RXZlbiBpZiBwZXJmZWN0IGNy==",
    "data": someData,
    "data1": someData1
}

Key por Request Body - Operação Encrypt

Entrada

{
    "operation": "encrypt",
    "useOwnKey": true,
    "useIV": true,
    "algorithm": "AES",
    "operationMode": "CBC",
    "padding": "PKCS5Padding",
    "failOnError": true,
    "encryptedMessageAsHex": false,
    "iVAsHex": false,
    "encryptedFields": "data,data1"    
}

Payload

{
    "encryptionKey": "-- THE FOLLOWING PUBLIC KEY--"
    "data": someData,
    "data1": someData1
}

Saída

{
    "data": "RXZlbiBpZiBwZXJmZWN0IGNyeXB0b2dyYXBoaWMgcm91dGluZXMgYXJlIH=",
    "data1": "RXZlbiBpZifd441mZWN0IGNyeXB0b2dyYXBoaWMgcm91dGluZXMgYXJlIH="
}

Entrada

{
    "operation": "decrypt",
    "useOwnKey": true,
    "useIV": true,
    "algorithm": "AES",
    "operationMode": "CBC",
    "padding": "PKCS5Padding",
    "failOnError": true,
    "encryptedMessageAsHex": false,
    "iVAsHex": false,
    "encryptedFields": "data,data1"    
}

Payload

{
    "ivParameterSpec": "RXZlbiBpZiBwZXJmZWN0IGNy==",
    "encryptionKey": "-- THE FOLLOWING PRIVATE KEY--"
    "data": "RXZlbiBpZiBwZXJmZWN0IGNyeXB0b2dyYXBoaWMgcm91dGluZXMgYXJlIH=",
    "data1": "RXZlbiBpZifd441mZWN0IGNyeXB0b2dyYXBoaWMgcm91dGluZXMgYXJlIH="    
}

Atualizado