encrypt function
Future<String?>
encrypt(
- String value,
- EncryptionKey key, {
- AuthClient? client,
- String? additionalAuthenticatedData,
Encrypts a value using Google Cloud KMS.
Implementation
Future<String?> encrypt(
String value,
EncryptionKey key, {
AuthClient? client,
String? additionalAuthenticatedData,
}) async {
final authClient = client ?? await clientViaMetadataServer();
final kmsApi = CloudKMSApi(authClient);
final keyPath = await _keyPath(key);
final encryptRequest = EncryptRequest(
plaintext: _base64Encode(value),
additionalAuthenticatedData: _base64Encode(additionalAuthenticatedData),
);
final encryptResponse = await kmsApi.projects.locations.keyRings.cryptoKeys
.encrypt(encryptRequest, keyPath);
return encryptResponse.ciphertext;
}