라이브러리

[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에서 사용하는 데이터 키를 생성하는 데 사용됩니다.
* 데이터 키는 데이터를 암호화하는 데 사용되는 암호화 키입니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 400 페이지

검색

게시물 검색