Saltar para o conteúdo principal
Versão: Próximo

Decrypt data BLOB

Decrypt data BLOB ( blobDecriptografar ; objetoChave / passefrase ; salt ; BLOBdecriptografado ) : Boolean

ParâmetroTipoDescrição
blobDecriptografarBlobBlob que vai ser decriptografado
objetoChave / passefraseObjeto, TextoObjeto JSON que contém a chave de criptografia ou passefrase para geração de chave direta de criptografia (texto)
saltIntegerSalt (ou sal/dados aleatórios) para o algoritmo de criptografia
BlobdecriptografadoBlobBLOB que foi decriptografado
ResultadoBooleanTrue se a descrição tiver sido realizada corretamente. Senão False

Descrição

O comando Decrypt data BLOB realiza a descriptografia do parâmetro blobDecriptografia com o mesmo algoritmo que 4D usa para a criptografia de dados (AES-256) e retorna o resultado em blobDecriptografado.

Pode usar objetoChave ou uma passefrase para decriptografar o BLOB:

  • objetoChave: um objeto JSON contendo uma 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

O número passado no parâmetro salt Decrypt data BLOB deve corresponder com o usado para a criptografia.

Se a decriptografia tiver sucesso, os dados decriptografados serão retornados no parâmetro blobDecriptografado e o comando retorna True.

No caso de um erro, o BLOB é retornado vazio e o comando retorna false.

Exemplo

O exemplo abaixo mostra como decriptogrofar um arquivo criptografado localizado na pasta RESOURCES do banco de dados:

 var $fileToDecrypt;$decryptedFile : 4D.File
 var $blobToDecrypt;$decryptedBlob : Blob
 var $result : Boolean
 
 $fileToDecrypt:=File("/RESOURCES/encryptedConfidential.txt")
 $decryptedFile:=File("/RESOURCES/decryptedConfidential.txt")
 
 $blobToDecrypt:=$fileToDecrypt.getContent()
 
 $result:=Decrypt data BLOB($blobToDecrypt;"myPassPhrase";MAXLONG;$decryptedBlob)
 $decryptedFile.setContent($decryptedBlob)

passefrase e salt usados para a descriptografia são idênticos a passefrase e salt usados para criptografar (ver o exemplo Encrypt data BLOB).

Ver também

Encrypt data BLOB
Encrypt data file
New data key