Как мне зашифровать / расшифровать массив Json с помощью серверной части node-rsa: NodeJS и интерфейса: Angular

#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, позвольте мне попробовать это и вернуться