牛牛在线工具

MongoDB\Driver\ClientEncryption::rewrapManyDataKey()

收录 8868 个 PHP 函数,含用途说明与用法示例。

MongoDB\Driver\ClientEncryption::rewrapManyDataKey()

重新包装多个数据密钥,将其从一个密钥外部重新包装到另一个密钥外部

函数名称:MongoDB\Driver\ClientEncryption::rewrapManyDataKey() 函数描述:重新包装多个数据密钥,将其从一个密钥外部重新包装到另一个密钥外部。 适用版本:该函数在MongoDB PHP扩展版本1.7.0及以上版本可用。 用法: MongoDB\Driver\ClientEncryption::rewrapManyDataKey( string $keyVaultNamespace, array $keyAltNames, string $wrappingKey, string $unwrappingKey ): array|object 参数: $keyVaultNamespace:密钥库的命名空间。 $keyAltNames:待重新包装的数据密钥的备用名称数组。 $wrappingKey:用于重新包装数据密钥的密钥ID或名称。 $unwrappingKey:用于解包数据密钥的密钥ID或名称。 返回值: 成功时,返回一个包含重新包装的数据密钥的数组或对象。 失败时,抛出MongoDB\Driver\Exception\Exception或其子类的异常。 示例: // 创建一个MongoDB\Client实例 $client = new MongoDB\Client("mongodb://localhost:27017"); // 创建一个MongoDB\Driver\ClientEncryption实例 $clientEncryption = new MongoDB\Driver\ClientEncryption($client); // 定义待重新包装的数据密钥备用名称数组 $keyAltNames = [ "dataKey1", "dataKey2" ]; // 定义用于重新包装和解包数据密钥的密钥ID或名称 $wrappingKey = "wrappingKey"; $unwrappingKey = "unwrappingKey"; try { // 重新包装多个数据密钥 $rewrappedDataKeys = $clientEncryption->rewrapManyDataKey( "myKeyVault.namespace", $keyAltNames, $wrappingKey, $unwrappingKey ); // 打印重新包装的数据密钥 foreach ($rewrappedDataKeys as $keyAltName => $rewrappedDataKey) { echo "Rewrapped data key for {$keyAltName}: {$rewrappedDataKey}\n"; } } catch (MongoDB\Driver\Exception\Exception $e) { echo "Error: " . $e->getMessage() . "\n"; } 注意事项: 该函数需要MongoDB扩展1.7.0及以上版本。 在调用此函数之前,需要先创建一个MongoDB\Driver\ClientEncryption实例。 在调用此函数之前,需要确保已经成功创建了密钥库,并且存在指定的密钥ID或名称。