라이브러리

[PHP] MongoDBDriverClientEncryption::addKeyAltName - 주요 문서에 대체 이름을 추가합니다.




MongoDB Driver Client-Side Encryption

MongoDB Driver는 클라이언트 측 암호화 기능을 제공하여 데이터의 보안을 강화합니다. Client-Side Encryption은 데이터를 암호화하여 MongoDB에 저장하는 것을 방지하고, 암호화된 데이터를 MongoDB에서 읽을 때만 암호를 제공하여 데이터를 복호화합니다.

MongoDBDriverClientEncryption::addKeyAltName

`MongoDBDriverClientEncryption::addKeyAltName` 메소드는 키 이름에 대체 이름을 추가하는 메소드입니다. 이 메소드는 키 이름을 변경하여 키를 쉽게 관리하고, 키 이름을 변경할 때마다 암호화된 데이터를 다시 암호화할 필요가 없습니다.

예제

#hostingforum.kr
php

use MongoDBDriverClientEncryption;

use MongoDBDriverKeyManagementClient;

use MongoDBDriverKeyManagementClientOptions;

use MongoDBDriverServer;

use MongoDBDriverSession;



// 키 관리 클라이언트 생성

$keyManagementClient = new KeyManagementClient(

    new KeyManagementClientOptions(

        [

            'hosts' => ['localhost:27017'],

            'readPreference' => 'primary',

        ]

    )

);



// 키 관리 클라이언트 연결

$keyManagementClient->connect();



// 키 이름에 대체 이름 추가

$altName = 'my-key-alt-name';

$keyManagementClient->addKeyAltName('my-key', $altName);



// 키 관리 클라이언트 연결 해제

$keyManagementClient->disconnect();



Client-Side Encryption 사용하기

Client-Side Encryption을 사용하기 위해서는 다음 단계를 수행해야 합니다.

1. 키 관리 클라이언트를 생성하고 연결합니다.
2. 키 이름에 대체 이름을 추가합니다.
3. 데이터를 암호화합니다.
4. 암호화된 데이터를 MongoDB에 저장합니다.
5. 암호화된 데이터를 읽을 때는 키 이름에 대체 이름을 사용하여 데이터를 복호화합니다.

예제

#hostingforum.kr
php

use MongoDBDriverClientEncryption;

use MongoDBDriverKeyManagementClient;

use MongoDBDriverKeyManagementClientOptions;

use MongoDBDriverServer;

use MongoDBDriverSession;



// 키 관리 클라이언트 생성

$keyManagementClient = new KeyManagementClient(

    new KeyManagementClientOptions(

        [

            'hosts' => ['localhost:27017'],

            'readPreference' => 'primary',

        ]

    )

);



// 키 관리 클라이언트 연결

$keyManagementClient->connect();



// 키 이름에 대체 이름 추가

$altName = 'my-key-alt-name';

$keyManagementClient->addKeyAltName('my-key', $altName);



// 데이터 암호화

$data = 'Hello, World!';

$encryptedData = ClientEncryption::encrypt($data, $altName);



// 암호화된 데이터를 MongoDB에 저장

$collection = (new MongoDBClient)->test->myCollection;

$collection->insertOne(['data' => $encryptedData]);



// 암호화된 데이터를 읽을 때는 키 이름에 대체 이름을 사용하여 데이터를 복호화

$document = $collection->findOne();

$decryptedData = ClientEncryption::decrypt($document['data'], $altName);



// 출력

echo $decryptedData; // Hello, World!



// 키 관리 클라이언트 연결 해제

$keyManagementClient->disconnect();



이 예제에서는 Client-Side Encryption을 사용하여 데이터를 암호화하고, 암호화된 데이터를 MongoDB에 저장하고, 암호화된 데이터를 읽을 때는 키 이름에 대체 이름을 사용하여 데이터를 복호화하는 방법을 보여줍니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색