#node.js #angular #encryption #node-rsa
#node.js #angular #шифрование #узел-rsa
Вопрос:
Я использую библиотеку node-rsa как в NodeJS, так и в Angular. узел-rsa: https://www.npmjs.com/package/node-rsa
Я пытаюсь зашифровать массив JSON с сервера NodeJS для отправки Angular, где он должен расшифровываться обратно в массив JSON, я несколько раз пробовал с другой кодировкой, но безуспешно. В приведенном ниже коде ошибок нет, но размер массива равен 0, когда я проверяю на угловой стороне.
NodeJS:
const NodeRSA = require('node-rsa')
...
app.post('/getMembers', (req, res) => {
const rsaKey = new NodeRSA({
b: 512
});
const rsaKey = new NodeRSA({
b: 512
});
rsaKey.importKey(pkey, "pkcs8-public");
const membersArray = await mongo_groups_collection.aggregate([{...}]).toArray();
res.status(200).send({
list: rsaKey.encrypt(membersArray)
}).end();
});
Angular:
Фрагмент службы:
this.getMembersList().subscribe((data: any) => {
console.log("Members List received")
let arrayData:Array<any> = this.secureService.rsaKey.decrypt(data.list);
console.log("Members decrypted", arrayData)
});
В консоли выводится сообщение «Члены расшифровали Uint8Array [] members-crud.service.ts: 133 «, а длина arrayData равна нулю.
Комментарии:
1. Какой результат вы получаете при попытке — console.log(«Расшифрованные члены», JSON.parse(arrayData))
2. Я пытаюсь вернуть массив JSON, позвольте мне попробовать это и вернуться