пример полезной нагрузки:
"object": {
"a": "bau bau",
"c": "boo boo",
"e": "mrau mrau"
},
зашифрованная полезная нагрузка:
"object": {
"a": "kjdfhsijry874rhevfbwe",
"c": "boo boo",
"e": "vcsafsdkhdlksfhj23273"
},
Я создал следующий скрипт, но получаю сообщение об ошибке, даже если я передаю строку. ОШИБКА: Ошибка типа: первый аргумент должен быть строкой, буфером, массивом, массивом или массивоподобным объектом.
const crypto = require('crypto');
const path = require('path');
const fs = require('fs');
const payload = require('./payload.json');
console.log("original:", payload);
const encrypted = encryptedJSON(payload, './public.pem', ["a", "e"]);
console.log("encrypted:", encrypted);
function encryptedJSON(obj, key, propertiesToEncrypt) {
let result = { ...obj }; // Clone the object.
const publicKey = fs.readFileSync(path.resolve(key), "utf8");
for(let property of propertiesToEncrypt) {
result[property] = crypto.publicEncrypt({ key: publicKey }, Buffer.from(obj[property], "utf8")).toString("base64");
}
return result;
}