라이브러리
[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에 저장하고, 암호화된 데이터를 읽을 때는 키 이름에 대체 이름을 사용하여 데이터를 복호화하는 방법을 보여줍니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.