Decrypt data BLOB
Decrypt data BLOB ( blobADescifrar ; objetoLlave | frasePasar ; sal ; blobDescifrado ) : Boolean
Parámetro | Tipo | Descripción | |
---|---|---|---|
blobADescifrar | Blob | → | BLOB a descifrar |
objetoLlave | frasePasar | Objeto, Texto | → | Objeto JSON que contiene la llave de cifrado o la frase de paso para la generación directa de la llave de cifrado (texto) |
sal | Integer | → | Sal adicional para el algoritmo |
blobDescifrado | Blob | ← | BLOB descifrado |
Resultado | Boolean | ← | True si la desencriptación se ha realizado correctamente, False en caso contrario |
Descripción
El comando Decrypt data BLOB descifra el parámetro blobADescifrar con el mismo algoritmo que 4D utiliza para descifrar datos (AES-256) y devuelve el resultado en blobDescifrado.
Puede utilizar un objetoLlave o una frasePasar para descifrar el BLOB:
- objetoLlave: un objeto JSON que contiene la llave de cifrado, con la misma estructura que el objeto devuelto por el comando New data key
- frasePasar: una cadena utilizada para generar la llave de cifrado
El número pasado en el parámetro sal de Decrypt data BLOB debe coincidir con el utilizado para el cifrado.
Si el descifrado tiene éxito, los datos descifrados se devuelven en el parámetro blobDescifrado y el comando devuelve True.
En caso de error, el BLOB se devuelve vacío y el comando devuelve false.
Ejemplo
El siguiente ejemplo muestra cómo descifrar un archivo encriptado ubicado en la carpeta RESOURCES de la base de datos:
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)
La frasePasar y la sal utilizadas para el descifrado son idénticas a la frasePasar y la sal utilizadas para el cifrado (ver el ejemplo Encrypt data BLOB).