Saltar al contenido principal
Versión: Siguiente

Decrypt data BLOB

Decrypt data BLOB ( blobADescifrar ; objetoLlave | frasePasar ; sal ; blobDescifrado ) -> Resultado

ParámetroTipoDescripción
blobADescifrarBLOB🡒BLOB a descifrar
objetoLlave | frasePasarObjeto, 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)
salEntero largo🡒Sal adicional para el algoritmo
blobDescifradoBLOB🡘BLOB descifrado
ResultadoBooleano🡐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).

Ver también

Encrypt data BLOB
Encrypt data file
New data key