Aller au contenu principal
Version: Next

Decrypt data BLOB

Decrypt data BLOB ( blobToDecrypt ; keyObject | passPhrase ; salt ; decryptedBLOB ) : Boolean

ParamètreTypeDescription
blobToDecryptBlobBLOB à décrypter
keyObject | passPhraseObjet, TexteObjet JSON contenant la clé de chiffrement ou le mot de passe pour générer directement une clé de chiffrement (texte)
saltIntegerAdditional salt for algorithm
decryptedBlobBlobBLOB décrypté
RésultatBooleanTrue si le déchiffrement a été effectué correctement. Sinon False

Description

La commande Decrypt data BLOBdécrypte le paramètre blobToDecrypt avec le même algorithme utilisé par 4D pour décrypter les données (AES-256) et retourne le résultat dans decryptedBLOB..

Vous pouvez utiliser un keyObject ou un passPhrase pour décrypter le BLOB :

  • keyObject : un objet JSON contenant la clé de chiffrement, avec la même structure que l'objet retourné par la commande New data key
  • passPhrase : une chaîne utilisée pour générer la clé de chiffrement

Le nombre passé dans le paramètre salt de Decrypt data BLOB doit correspondre à celui utilisé pour le chiffrement.

Si le déchiffrement est réussi, les données déchiffrées sont retournées dans le paramètre decryptedBLOB et la commande retourne True.

En cas d'erreur, le BLOB est retourné vide et la commande retourne false.

Exemple

L'exemple suivant montre comment décrypter un fichier chiffré situé dans le dossier RESOURCES de la base de données :

 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)

Les paramètres passPhrase et le salt utilisés pour le déchiffrement sont identiques aux paramètres passPhrase et salt utilisés pour le cryptage (voir l'exemple Encrypt data BLOB).

Voir aussi

Encrypt data BLOB
Encrypt data file
New data key

Propriétés

Numéro de commande1774
Thread safe