Вот мой код:
const AWS = require('aws-sdk');
const btoa = require('btoa');
let kms = new AWS.KMS({
accessKeyId: 'redacted',
secretAccessKey: 'redacted',
region: 'us-east-1'
});
let params = {
KeyId: 'redacted',
Plaintext: 'abcde'
};
let encrypted = kms.encrypt(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else {
let x = {
CiphertextBlob: data.CiphertextBlob
};
kms.decrypt(x, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(btoa(data.Plaintext)); // successful response
});
}
});
Я просто пытаюсь зашифровать строку abcde
, а затем расшифровать ее, но это не работает. Некоторое время я получал InvalidCipherException
, но теперь вывод console.log(btoa(data.Plaintext));
равен YWJjZGU=
.
Я не могу понять, что я делаю здесь неправильно, но я подозреваю, что это связано с кодировкой base64. Я пробовал так много вариантов этого кода, но не могу вывести проблему. Кто-нибудь видит, что я здесь делаю не так?