Decrypt data BLOB
Decrypt data BLOB ( blobDecriptografar ; objetoChave / passefrase ; salt ; BLOBdecriptografado ) -> Resultado
Parâmetro | Tipo | Descrição | |
---|---|---|---|
blobDecriptografar | Blob | → | Blob que vai ser decriptografado |
objetoChave / passefrase | Objeto, Texto | → | Objeto JSON que contém a chave de criptografia ou passefrase para geração de chave direta de criptografia (texto) |
salt | Integer | → | Salt (ou sal/dados aleatórios) para o algoritmo de criptografia |
Blobdecriptografado | Blob | ← | BLOB que foi decriptografado |
Resultado | Boolean | ← | True 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).