メインコンテンツまでスキップ
バージョン: 20 R7 BETA

Decrypt data BLOB

Decrypt data BLOB ( blobToDecrypt ; keyObject | passPhrase ; salt ; decryptedBLOB ) -> 戻り値

引数説明
blobToDecryptBlob復号化したいBLOB
keyObject | passPhraseオブジェクト, テキスト暗号化鍵を格納したJSON オブジェクト、または直接暗号化鍵を生成するためのパスフレーズ(テキスト)
saltIntegerアルゴリズムのための追加のsalt
decryptedBlobBlob復号化されたBLOB
戻り値Boolean復号化が正常に実行された場合にはTrue、それ以外の場合にはFalse

説明

Decrypt data BLOB コマンドは、blobToDecrypt 引数のBLOB を、4D がデータの復号化に使用するのと同じアルゴリズム(AES-256) を使用して復号化し、その結果をdecryptedBLOB 引数に返します

BLOB を復号化するのには、keyObject または passPhrase のいづれかを使用することができます:

  • keyObject: 暗号鍵を格納したJSON オブジェクト。その構造は、New data key コマンドによって返されるオブジェクトと同じです。
  • passPhrase: 暗号鍵を生成するのに使用した文字列です。

Decrypt data BLOBsalt 引数に渡す数値は、暗号化の際に使用されたものと合致する必要があります。

復号化に成功した場合、復号化されたデータはdecryptedBLOB 引数に返され、コマンドはTrue を返します。

エラーが起きた場合には、空のBLOB が返され、コマンドはFalse を返します。

例題

以下の例では、データベースのRESOURCES フォルダにある暗号化されたファイルを復号化したい場合を考えます:

 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)

復号化で使用するpassPhrase 引数および salt 引数は、暗号化の際に使用されたpassPhrase 引数および salt 引数と同一です(Encrypt data BLOB の例題を参照して下さい)。

参照

Encrypt data BLOB
Encrypt data file
New data key