Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v20 R7
Encrypt data BLOB

Encrypt data BLOB 


 

Encrypt data BLOB ( blobAEncriptar ; objetoLlave | frasePasar ; sal ; blobEncriptado ) -> Resultado 
Parámetro Tipo   Descripción
blobAEncriptar  BLOB in BLOB a encriptar
objetoLlave | frasePasar  Objeto, Texto in 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  Entero largo in Sal adicional para el algoritmo
blobEncriptado  BLOB in BLOB Encriptado
Resultado  Booleano in True si la encriptación se ha realizado correctamente, False en caso contrario

El comando Encrypt data BLOB encripta el parámetro blobAEncriptar con el mismo algoritmo que 4D utiliza para encriptar datos (AES-256) y devuelve el resultado en blobEncriptado.

Puede utilizar un objetoLlave o una frasePasar para encriptar 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

Pase en sal un número que se utilizará para hacer el cifrado más robusto.

Si el cifrado tiene éxito, los datos cifrados se devuelven en el parámetro blobEncriptado y el comando devuelve True.

En caso de error, el BLOB se devuelve vacío y el comando devuelve False.

 

Nota: cuando se encripta un blob utilizando Encrypt data BLOB, el blobEncriptado resultante es un múltiplo de 16 bytes debido al algoritmo de encriptación. En consecuencia, si blobAEncriptar no es un múltiplo de 16 bytes, el comando lo convierte automáticamente en un múltiplo de 16 bytes añadiendo bytes nulos al final. Para evitar errores al descifrar el blob con Decrypt data BLOB, es necesario manejar el tamaño del blobAEncriptar 
cuando se trabaja con archivos que no son de texto. Para un ejemplo detallado de cómo hacerlo, ver este artículo del blog.

Ejemplo  

Encriptar un archivo de texto ubicado en la carpeta RESOURCES de la base de datos:

 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 también 

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

 
PROPIEDADES 

Producto: 4D
Tema: Seguridad de los datos
Número 1773

This command can be run in preemptive processes

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v19

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v20 R7)