Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v20 R7
Encrypt data BLOB

Encrypt data BLOB 


 

Encrypt data BLOB ( blobAcriptografar ; objetoChave / passefrase ; salt ; blobCriptografado' ) -> Resultado 
Parâmetro Tipo   Descrição
blobAcriptografar  BLOB in BLOB que vai criptografar
objetoChave / passefrase  Objeto, Texto in Objeto JSON que contém a chave de criptografia ou passefrase para geração de uma chave de criptografia direta (texto)
salt  Inteiro longo in Sal de criptografia (para adicionar dados aleatórios) para maior segurança do algoritmo
blobCriptografado'  BLOB in BLOB que foi criptografado
Resultado  Booleano in 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: 

  • objetoChave: um objeto JSON que contém a chave de criptografia com a mesma estrutura que o objeto retornado pelo comando New data key 
  • passefrase: uma string usada para gerar a chave de criptografia

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

Exemplo  

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)



Ver também 

Decrypt data BLOB
ENCRYPT BLOB
Encrypt data file
Encrypt your own data with the 4D algorithm (blog post)
New data key

 
PROPRIEDADES 

Produto: 4D
Tema: Segurança de Dados
Número 1773

This command can be run in preemptive processes

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Criado por: 4D v19

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v20 R7)