函数名:MongoDB\Driver\ClientEncryption::createDataKey()
适用版本:MongoDB PHP扩展版本 1.9.0+
用法:
public function MongoDB\Driver\ClientEncryption::createDataKey(
string $kmsProvider,
array $options = []
): string
该函数用于在客户端加密环境中创建一个新的数据密钥。数据密钥将用于加密和解密敏感数据。
参数:
$kmsProvider
(string):指定加密密钥管理服务(KMS)提供者的名称。常见的提供者有"aws"和"local"。$options
(array, optional):可选参数数组,用于指定进一步的选项设置。常见的选项包括"masterKey"和"keyAltNames"。
返回值:
- 若成功创建数据密钥,则返回一个字符串,表示生成的数据密钥的唯一标识符(UUID)。
示例:
$encryption = new MongoDB\Driver\ClientEncryption($keyVaultNamespace, $keyVaultCollection, $kmsProviderOptions);
// 创建一个数据密钥
$dataKey = $encryption->createDataKey('aws', [
'masterKey' => 'arn:aws:kms:us-west-2:123456789012:key/abcd1234-5678-90ab-cdef-1234567890ab',
'keyAltNames' => ['myDataKey']
]);
echo $dataKey;
上述示例中,我们首先创建了一个MongoDB\Driver\ClientEncryption
对象,并传入了相关的参数。然后,我们调用createDataKey()
函数来创建一个数据密钥。在这个示例中,我们选择了AWS KMS作为密钥管理服务提供者,并指定了一个主密钥和一个密钥备用名称。最后,我们打印出生成的数据密钥的唯一标识符。