ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com

ホーム

 
4D v20 R7
Encrypt data BLOB

Encrypt data BLOB 


 

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

詳細   

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

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

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

salt 引数には、暗号化をより堅牢にするために使用される数字を渡します。

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

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

 

注: Encrypt data BLOB を使用してBLOB を暗号化する場合、返されるencryptedBlob 引数内のBLOB は、16 バイトの整数倍になります。これは暗号化アルゴリズムによるものです。結果として、もしblobToEncrypt 引数に渡すBLOB が16 バイトの整数倍でなかった場合、コマンドは自動的に末尾にnull バイトを追加してBLOB を16バイトの整数倍に変換します。BLOB をDecrypt data BLOB で復号化する際にエラーが起きるのを避けるため、テキストファイルではないファイルを使用する際にはblobToEncrypt 引数のサイズを管理する必要があります。これの詳細なやり方については、こちらのブログ記事(英文) を参照して下さい。

例題  

データベースのRESOURCES フォルダ内にあるテキストファイルを暗号化する場合を考えます:

 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)



参照 

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

 
プロパティ 

プロダクト: 4D
テーマ: データセキュリティ
番号: 1773

This command can be run in preemptive processes

 
ページの目次 
 
履歴 

初出: 4D v19

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v20 R7)