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)
.
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
Concatenate IV desativado:
Concatenate IV ativado:
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:
Concatenate IV ativado:
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
Saída
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
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
Saída
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
Atualizado