Я пытаюсь использовать библиотеку google-kms nodejs.
Я ожидал, что конечным результатом будет зашифрованный текст, но я получу буфер, если я не решу base64 или если я это сделаю, то получу что-то вроде $�k+��l�k��:
Кто-то знает, что не так, r мои ожидания неверны в отношении закодированного текста.
exports.encryptKMS = async (req, res) => {
let message = req.query.message || req.body.message || 'Hello World!';
const projectId = 'xxx';
const kms = require('@google-cloud/kms');
const client = new kms.KeyManagementServiceClient();
const locationId = 'global';
const keyRingId = 'Test-Ring-01';
const cryptoKeyId = 'Test-Crypto-01';
const cryptoKeyPath = client.cryptoKeyPath(
projectId,
locationId,
keyRingId,
cryptoKeyId
);
const [result] = await client.encrypt({name: cryptoKeyPath, plaintext: message});
console.log(result);
const cryptoText = Buffer.from(result.ciphertext, 'base64').toString('utf-8');
console.log(cryptoText);
res.status(200).send(cryptoText);
}