AES Cryptography

Saiba como criptografar ou descriptografar usando o componente AES Cryptography.

O AES Cryptography criptografa ou 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 Fields, Decrypt Fields, Encrypt Payload, e Decrypt Payload)

Encrypt Fields

String

Account

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

Se você quiser utilizar uma chave arbitrária, então desfaça a seleção da conta e ative a opção Provide Key Or Generate Random, em Advanced Settings.

N/A

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.

N/A

String

Algorithm Key Size

Tamanho da chave do algoritmo, disponível em 256 bits (necessária para usar uma chave de 32 bytes), 192 bits (chave de 24 bytes) e 128 bits (chave de 16 bytes).

256 bits

Inteiro (bits)

Operation Mode

Modo de operação a ser utilizado (CBC, OFB, CTR, CFB, GCM ou ECB).

CBC

String

GCM Tag Length

Define a tag length (128 bits, 120 bits, 112 bits, 104 bits ou 96 bits). Este campo está disponível apenas quando GCM estiver selecionado no parâmetro Operation Mode.

N/A

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). A opção NoPadding é utilizada somente quando a mensagem a ser criptografada com certeza não necessita de padding. O correto é sempre usar padding para evitar erros na hora de criptografar/descriptografar.

PKCS5Padding

String

Charset

Charset da chave fornecida do tipo string.

UTF-8

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 "success".

False

Booleano

Advanced Settings

Se a opção estiver ativada, você pode acessar as seguintes configurações:

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".

N/A

Booleano

Provide IV For Encryption

Se a opção estiver ativada, será esperado um IV como parâmetro para a encriptação; do contrário, será gerado um parâmetro com zeros ou um parâmetro aleatório controlado pelo parâmetro Empty IV or Random IV?.

N/A

Booleano

Empty IV or Random IV?

Se a opção estiver ativada, será gerado um IV vazio (16 bytes de zeros); do contrário, será gerado um IV aleatório.

N/A

Booleano

IV as Hex Value

Se a opção estiver ativada, será esperado um IV como hexadecimal; do contrário, espera-se base64. Este parâmetro não fica disponível quando Concatenate IV estiver ativado.

N/A

String

Update AAD

Additional authenticated data para a operação GCM. Se a opção estiver ativada, é possível informar o AAD para a operação GCM. Esta opção está disponível apenas quando GCM estiver selecionado no parâmetro Operation Mode.

N/A

String

AAD

Additional authenticated data. Valor para a chave AAD na operação GCM. Esta opção está disponível apenas quando Update AAD estiver ativado e GCM estiver selecionado no parâmetro Operation Mode.

N/A

String

IV

Vetor de inicialização a ser informado previamente para a realização de criptografia/descriptografia, que deve conter 16 bytes. Este parâmetro fica disponível somente quando Provide IV For Encryption estiver ativado e aceita Double Braces.

N/A

String

Provide Key Or Generate Random

Se a opção estiver ativada, espera-se uma chave; do contrário, uma chave aleatória será gerada.

N/A

Booleano

Secret Key

Chave em formato Hex ou base64 (controlada pelo parâmetro Encryption Key As Hex Value). A chave precisa ter o número de bits de acordo com o parâmetro Algorithm Key Size.

N/A

String

Encryption Key As Hex Value

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

N/A

Booleano

Encrypted Message As Hex

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

N/A

Booleano

Importante: se você deseja utilizar a sua própria chave por conta, então será necessário configurar uma conta Secret Key ou passar a respectiva propriedade através de Double Braces com a chave.

Fluxo de mensagens

Entrada

Não se espera um formato específico de entrada.

Saída

Crypto Operation: Encrypt Fields ou Decrypt Fields

Será mantida a mesma estrutura de entrada na saída. Caso a opção Concatenate IV esteja desativada, será gerada uma nova propriedade "IV" no JSON informado para cada campo configurado.

Exemplo

Entrada

{
"array": [
{"text": "text"},
{"text": "text2"}
]
}

Concatenate IV desativado:

{
"array": [
{"text": "ENCRYPTED TEXT", "iv": "SOME BASE64"},
{"text": "ENCRYPTED TEXT", "iv": "SOME BASE64"}
]
}

Concatenate IV ativado:

{
"array": [
{"text": "ENCRYPTED TEXT"},
{"text": "ENCRYPTED TEXT"}
]
}

Crypto Operation: Encrypt Payload ou Decrypt Payload

O valor criptografado será retornado dentro da propriedade "result". Caso a opção Concatenate IV esteja desativada, será gerada uma nova propriedade "IV" no JSON informado para cada campo configurado.

Concatenate IV desativado:

{
"result": "ENCRYPTED TEXT",
"iv": "SOME BASE64"
}

Concatenate IV ativado:

{
"result": "ENCRYPTED TEXT
}

AES Cryptography em Ação

Criptografia Encrypt Fields

  • Crypto operation: Encrypt Fields

  • Fields To Encrypt/Decrypt: array.text

  • Algorithm key Size: 256

  • Operation Mode: CBC

  • Padding: PKCS5Padding

  • Advanced Settings: ativado

  • Concatenate IV: ativado

  • Provide IV for encryption: ativado

  • IV: MTIzNDU2Nzg5MDEyMzQ1NjE=

  • Provide Key Or Generate Random: ativado

  • Secret Key: MTIzNDU2Nzg5MDEyMzQ1NjEyMzQ1Njc4OTAxMjM0NTY= (É recomendável armazenar essa chave em uma conta do tipo SECRET-KEY)

  • Encryption Key As Hex Value: desativado

  • Encrypted Message As Hex: desativado

Entrada

{
"array": [
{"text": "text"},
{"text": "text2"}
]
}

Saída

{
"array": [
{
"text": "MTIzNDU2Nzg5MDEyMzQ1Npp1dUf7FzjkLwD9Ezq4FSU="
},
{
"text": "MTIzNDU2Nzg5MDEyMzQ1NijQdN4bFfeBL9Z6vCfzMTw="
}
]
}

Criptografia Encrypt Payload

  • Crypto operation: Encrypt Payload

  • Payload: text

  • Algorithm key Size: 256

  • Operation Mode: CBC

  • Padding: PKCS5Padding

  • Advanced Settings: ativado

  • Concatenate IV: ativado

  • Provide IV for encryption: ativado

  • IV: MTIzNDU2Nzg5MDEyMzQ1NjE=

  • Provide Key Or Generate Random: ativado

  • Secret Key: MTIzNDU2Nzg5MDEyMzQ1NjEyMzQ1Njc4OTAxMjM0NTY= (É recomendável armazenar essa chave em uma conta do tipo SECRET-KEY)

  • Encryption Key As Hex Value: desativado

  • Encrypted Message As Hex: desativado

Entrada

{}

Saída

{
"result": "MTIzNDU2Nzg5MDEyMzQ1Npp1dUf7FzjkLwD9Ezq4FSU="
}

Descriptografar Decrypt Fields

  • Crypto operation: Decrypt Fields

  • Fields To Encrypt/Decrypt: array.text

  • Algorithm key Size: 256

  • Operation Mode: CBC

  • Padding: PKCS5Padding

  • Advanced Settings: ativado

  • Concatenate IV: ativado

  • Provide IV for encryption: ativado

  • IV: MTIzNDU2Nzg5MDEyMzQ1NjE=

  • Provide Key Or Generate Random: ativado

  • Secret Key: MTIzNDU6Nzg5MDEyMzQ1NjEyMzQ1Njc4OTAxMjM0NTY= (É recomendável armazenar essa chave em uma conta do tipo SECRET-KEY)

  • Encryption Key As Hex Value: desativado

  • Encrypted Message As Hex: desativado

Entrada

{
"array": [
{
"text": "MTIzNDU2Nzg5MDEyMzQ1Npp1dUf7FzjkLwD9Ezq4FSU="
},
{
"text": "MTIzNDU2Nzg5MDEyMzQ1NijQdN4bFfeBL9Z6vCfzMTw="
}
]
}

Saída

{
"array": [
{"text": "text"},
{"text": "text2"}
]
}

Descriptografar Decrypt Payload

  • Crypto operation: Decrypt Payload

  • Payload: MTIzNDU2Nzg5MDEyMzQ1Npp1dUf7FzjkLwD9Ezq4FSU=

  • Algorithm key Size: 256

  • Operation Mode: CBC

  • Padding: PKCS5Padding

  • Advanced Settings: ativado

  • Concatenate IV: ativado

  • Provide IV for encryption: ativado

  • IV: MTIzNDU2Nzg5MDEyMzQ1NjE=

  • Provide Key Or Generate Random: ativado

  • Secret Key: MTIzNDU2Nzg5MDEyMzQ1NjEyMzQ1Njc4OTAxMjM0NTY= (É recomendável armazenar essa chave em uma conta do tipo SECRET-KEY)

  • Encryption Key As Hex Value: desativado

  • Encrypted Message As Hex: desativado

Entrada

{}

Saída

{"result": "text"}

Atualizado