函式名:MongoDB\Driver\ClientEncryption::encryptExpression()
適用版本:MongoDB PHP Library 1.7.0及以上版本
用法: MongoDB\Driver\ClientEncryption::encryptExpression()函式用於將一個表示式加密成二進位制資料,以便在MongoDB中進行儲存或傳輸。
語法:
public static function encryptExpression(
string $expression,
array $options = []
): Binary
引數:
- $expression(必填):要加密的表示式,可以是字串或二進位制資料。
- $options(可選):一個關聯陣列,用於指定加密選項。支援以下選項:
- keyId:加密金鑰的ID,必須是一個UUID字串,預設為null。
- algorithm:加密演算法的名稱,例如"AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"或"AEAD_AES_256_CBC_HMAC_SHA_512-Random",預設為null。
- additionalAuthenticatedData:附加的認證資料,可以是字串或二進位制資料,預設為null。
返回值:
- 返回一個Binary物件,包含加密後的二進位制資料。
示例:
use MongoDB\Driver\ClientEncryption;
// 建立ClientEncryption物件
$clientEncryption = new ClientEncryption($keyVaultNamespace, $keyVaultClient);
// 要加密的表示式
$expression = '1234567890';
// 加密選項
$options = [
'keyId' => '01234567-89ab-cdef-0123-456789abcdef',
'algorithm' => 'AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic',
'additionalAuthenticatedData' => 'example',
];
// 加密表示式
$encryptedExpression = $clientEncryption->encryptExpression($expression, $options);
// 列印加密後的二進位制資料
echo $encryptedExpression->getData();
注意事項:
- 在使用MongoDB\Driver\ClientEncryption類之前,需要先建立一個ClientEncryption物件,並透過建構函式傳入金鑰管理器的名稱空間和客戶端物件。
- 要使用此函式,需要安裝MongoDB擴充套件,並啟用Client-Side Field Level Encryption(CSFLE)功能。
- 金鑰管理器必須提供所需的金鑰,以便正確加密和解密資料。
熱門工具排行榜