라이브러리
[PHP] MongoDBDriverClientEncryption::createDataKey - 키 문서를 생성합니다.
MongoDB Client Encryption
MongoDB Client Encryption은 MongoDB에서 데이터를 암호화하고 안전하게 저장하는 데 사용되는 도구입니다. Client Encryption은 MongoDB Driver에서 제공하는 기능으로, 데이터를 암호화하고 암호화된 데이터를 MongoDB에 저장할 수 있습니다.
MongoDBDriverClientEncryption::createDataKey
`MongoDBDriverClientEncryption::createDataKey` 메서드는 Client Encryption에서 사용하는 데이터 키를 생성하는 데 사용됩니다. 데이터 키는 데이터를 암호화하는 데 사용되는 암호화 키입니다.
사용법
`MongoDBDriverClientEncryption::createDataKey` 메서드는 다음과 같은 형식으로 사용됩니다.
#hostingforum.kr
php
use MongoDBDriverClientEncryption;
use MongoDBDriverKeyManagementClient;
use MongoDBDriverEncryptionOptions;
use MongoDBDriverKeyManagementClientOptions;
$kmClient = new KeyManagementClient(new KeyManagementClientOptions());
$kmClient->addDataKey($keyManagementKeyId, $keyManagementKey);
$encryptionOptions = new EncryptionOptions();
$encryptionOptions->setKeyManagementClient($kmClient);
$clientEncryption = new ClientEncryption($encryptionOptions);
$dataKey = $clientEncryption->createDataKey($keyManagementKeyId, $keyManagementKey);
예제
다음 예제는 Client Encryption을 사용하여 데이터를 암호화하고 MongoDB에 저장하는 방법을 보여줍니다.
#hostingforum.kr
php
use MongoDBDriverClientEncryption;
use MongoDBDriverKeyManagementClient;
use MongoDBDriverEncryptionOptions;
use MongoDBDriverKeyManagementClientOptions;
use MongoDBDriverBulkWrite;
use MongoDBDriverWriteConcern;
// Key Management Client 생성
$kmClient = new KeyManagementClient(new KeyManagementClientOptions());
$kmClient->addDataKey($keyManagementKeyId, $keyManagementKey);
// Encryption Options 생성
$encryptionOptions = new EncryptionOptions();
$encryptionOptions->setKeyManagementClient($kmClient);
// Client Encryption 생성
$clientEncryption = new ClientEncryption($encryptionOptions);
// 데이터 암호화
$dataKey = $clientEncryption->createDataKey($keyManagementKeyId, $keyManagementKey);
$encryptedData = $clientEncryption->encrypt($dataKey, 'Hello, World!');
// MongoDB에 데이터 저장
$manager = new MongoDBDriverManager('mongodb://localhost:27017');
$bulk = new BulkWrite();
$bulk->insert(['_id' => new MongoDBBSONObjectId, 'data' => $encryptedData]);
$writeConcern = new WriteConcern(1, 1000);
$manager->executeBulkWrite('test.collection', $bulk, $writeConcern);
참고
* MongoDB Client Encryption은 MongoDB 3.6 이상에서 사용할 수 있습니다.
* Client Encryption은 MongoDB Driver에서 제공하는 기능으로, 데이터를 암호화하고 암호화된 데이터를 MongoDB에 저장할 수 있습니다.
* `MongoDBDriverClientEncryption::createDataKey` 메서드는 Client Encryption에서 사용하는 데이터 키를 생성하는 데 사용됩니다.
* 데이터 키는 데이터를 암호화하는 데 사용되는 암호화 키입니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.