【发布时间】:2018-11-19 16:30:33
【问题描述】:
这是我的代码:
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 编码有关。我在这段代码上尝试了很多变体,但无法推断出问题所在。有人看到我在这里做错了吗?
【问题讨论】:
标签: node.js amazon-web-services encryption base64 aws-kms