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