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
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"}Isto foi útil?