Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Encrypt data BLOB
|
Encrypt data BLOB ( blobAcriptografar ; objetoChave / passefrase ; salt ; blobCriptografado' ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
blobAcriptografar | BLOB |
![]() |
BLOB que vai criptografar | |||||
objetoChave / passefrase | Objeto, Texto |
![]() |
Objeto JSON que contém a chave de criptografia ou passefrase para geração de uma chave de criptografia direta (texto) | |||||
salt | Inteiro longo |
![]() |
Sal de criptografia (para adicionar dados aleatórios) para maior segurança do algoritmo | |||||
blobCriptografado' | BLOB |
![]() |
BLOB que foi criptografado | |||||
Resultado | Booleano |
![]() |
TRUE se a criptografia for realizada corretamente, senão FALSE | |||||
O comando Encrypt data BLOB encripta o parâmetro blobCriptografar com o mesmo algoritmo que 4D usas para criptografia de dados (AES-256) e retorna o resultao em blobCriptografado.
Pode usar um objetoChave ou uma passefrase para criptografar o BLOB:
Passe em salt (sal de criptografia) um número que será usado para tornar a criptografia mais robusta.
Se a criptografia tiver sucesso, os dados criptografados são retornados no parâmetro blobCriptografado e o comando retorna True.
No caso de um erro, o BLOB é retornada vazia e o comando retorna False.
Nota: Quando criptografar um blob usando Encrypt data BLOB, o resultado blobCriptografado é um múltiplo de 16 bytes por causa do algoritmo de criptografia. Como consequência, se blobCriptografar não for um múltiplo de 16 bytes, o comando automaticamente vira para um múltiplo de 16 bytes para adicionar null bytes no final. Para evitar erros quando decriptografar o blob com Decrypt data BLOB, precisa manejar o tamanho de blobCritpgrafar quando trabalhar com arquivos que não forem arquivos de texto. Para um exemplo detalhado de como fazer isso, veja esse artigo no blog.
Para criptografar um arquivo texto na pasta RESOURCES no banco de dados:
var $fileToEncrypt;$encryptedFile : 4D.File
var $blobToEncrypt;$encryptedBlob : Blob
var $result : Boolean
$fileToEncrypt:=File("/RESOURCES/confidential.txt")
$encryptedFile:=File("/RESOURCES/encryptedConfidential.txt")
$blobToencrypt:=$fileToEncrypt.getContent()
$result:=Encrypt data BLOB($blobToEncrypt;"myPassPhrase";MAXLONG;$encryptedBlob)
$encryptedFile.setContent($encryptedBlob)
Decrypt data BLOB
ENCRYPT BLOB
Encrypt data file
Encrypt your own data with the 4D algorithm (blog post)
New data key
Produto: 4D
Tema: Segurança de Dados
Número
1773
Criado por: 4D v19
Manual de linguagem 4D ( 4D v20 R7)